注册 登录
编程论坛 C++教室

char *str="0123456789"; sizeof(str)=4; 这里为什么是等于4; si

任我行328 发布于 2008-10-29 22:00, 941 次点击
char *str="0123456789";
     strlen(str)=10;     
     sizeof(str)=4;   这里为什么是等于4;
        
     sizeof(*str)=1;  还有这里怎么是等于1,
2 回复
#2
newyj2008-10-29 22:07
sizeof(str)=4;   这里为什么是等于4;
这里是个指针 在32位下 是4个字节
sizeof(*str)=1;  还有这里怎么是等于1
这里是char 是1个字节
#3
nwpu0634172008-10-29 23:11
同意楼上
要知道str也是一个变量,只存着一个字符常量的地址
1