Windows 32位C++程序,请计算sizeof的值
(1)
void Func(char str[100])
{
sizeof(str) =?
}
(2)
void* p =malloc(100);
sizeof(p);
(3)
int a[100];
sizeof(a) ;
(4)
char *p ="aaaaaaa";
sizeof(p);
答案:
(1)100
(2)4
(3)400
(4)4
注:当指针p指向的区域是栈区的时候,sizeof输出的就是栈区所占的空间
当指着p指向其他如堆区,文字常量区时,则sizeof输出的就是指针p所占的地址