关于指针在内存中占用的存储空间
下面这段代码的输出结果为:1 8这段代码表明a变量在内存中占一个字节的存储空间,指针p在内存中占用8个字节的存储空间.
程序代码:
#include"stdio.h" int main(void){ char a; char *p="wueihdskjbnahuskjhfkkag"; printf("%d %d",sizeof(a),sizeof(p)); return 0; }
而上面代码指针p初始化了24个字符,如果一个字符占用一个字节,24个字符应该要占用24个字节才对,当时指针p只占用了8个字节的内存空间。那不是无法容纳24个字符吗?为什么指针p还能容纳这么多的字符?