关于C++ sizeof()的问题

来源:百度知道 编辑:UC知道 时间:2024/06/23 06:36:55
char str[] = “Hello” ;
char *p = str ;
不理解为什么sizeof ( p ) = 4

记住,sizeof(类型),即它计算的是类型的内存宽度,而不是其它值

char *p = str;//明显 p 是一个指针,在32位机下,指针就是 4 个字节
所以结果为 4

P是一个指针(指向str)
所有指针占用内存都是4字节

sizeof()取指针的大小,取得是指针变量所占的大小,与指针指向内容的大小无关。如果是32位系统肯定是4。

sizeof是根据你后面跟的类型来判断的
你直接跟str他代表的是一个数组,数组是一个实在的东西,str就代表的是一个数组,长度为5
p代表的是一个指针,指针类型就是4
要清楚指针和数组是有区别的?

p是指针,占四个字节