为什么?c程序问题?
c程序问题,*ss与ss的区别! #includevoid main(){char *ss="0123456789";printf("%d",sizeof(ss));}printf("%d",sizeof(ss));输出为4,printf("%d",sizeof(*ss));输出为1,为什么?
注意:第一个ss是char型指针,字符型是四个字节,故输出4,因为你ss指针指向了数字0,是整形的数,占一个字节,故*ss等价于数字0,输出就是1了。
ss 是一个地址,此时将会解释为字符串的首地址;
*ss 是一个指向首地址的指针,此时解释为一个字符。
ss 是指针。不管什么指针,都占4字节
*ss 是"0123456789" 的值, 因为char类型只能存储1字节,所以它只存了'0‘,所以'0'只占了1字节
sizeof(ss)输出的是指针本身所占内存大小,4个字节;sizeof(*ss)输出是char类型大小1个字节
~如果你认可我的回答,请及时点击【采纳为满意回答】按钮~
~手机提问者在客户端右上角评价点【满意】即可。
~你的采纳是我前进的动力~~
~如还有新的问题,请另外向我求助,答题不易,敬请谅解~~
O(∩_∩)O,记得好评和采纳,互相帮助
祝生活愉快!
sizeof() 判断数据类型内存中占用的字节数!
供参考解释:
char *ss="0123456789"; 定义指针 指向字符串
分析:
指针型字符串,可以理解成字符数组 char str[10]={'0','1','2'。
。。。}
针对提问,ss为指针,指针本身存储的是指向存储空间的首地址值,而非具体的内容值。
根据系统和平台的不同,对指针本身大小的设定也有区别,上例中应该是32系统,用于储存空间地址的指针变量的大小是4字节。
*ss为指针间引,可理解为*(空间首地址),获取的就是存储空间首地址的值,对于字符串"0123456789"来说,首地址开始存储的单元内容,是字符0,所以占用1个字节,可等效于举例中的str[0]。
理解上述内容的关键是正确区分指针本身和指针指向空间的区别,以及字符串和字符数组的关系!。
答:SS打钱的地方很多 看你装备了~要是T1OK了~~~ 就建议去去西瘟一号营地 那里刷人不多抢怪还可以的话一般钱是5G/小时 布3 -5组/小时 卖店的东西约5-...详情>>
答:它在电缆电视的基础上,将分配网络的主干部分改为光缆,在各个服务节点处完成光电转换,再由同轴电缆将传输信号送到用户家里,可有效地实现Internet访问、电视点播...详情>>
答:找到对方的IP,输入IE地址里就行了!详情>>