深入谈谈C/C++的sizeof( )的计算(指针和数组)(二)

2014-11-24 12:36:21 · 作者: · 浏览: 6

例如:

view plainc

view plain#include

char *place_1();

char *place_2(char *);

void main()

{

char a[5]={'a','b','c'};

char *p=a;

printf("sizeof(a) %d\n",sizeof(a));

printf("sizeof(p) %d\n",sizeof(p));

printf("sizeof(place_1()) %d\n\n",sizeof(place_1()));

printf("sizeof(place_2(p)) %d\n",sizeof(place_2(p)));

}

char *place_1()

{

char a[5]={'a','b','c'};

printf("sizeof(a) %d\n",sizeof(a));

return a;

}

char *place_2(char *p)

{

printf("sizeof(p) %d\n",sizeof(p));

return p;

}

运行结果如下:

\

参考书目:《C程序设计(第三版)》,《C语言深度剖析》