C语言,为什么字符串类型的数组,可以用数组名对数组进行整体输出?

C语言,为什么字符串类型的数组,可以用数组名对数组进行整体输出?比如char ch[]="hello!";
printf("%s",ch);
为什么是ch呢?ch只是个地址,按理也应该是*ch(地址里面存放的量)才对啊?

字符型数组在内存中的储存方式同字符串String类一样,故输出数组名并不是输出数组首地址,而是直接输出数组内容,,,,,,
而整形数组只是整形的集合,所以其数组名仅仅是其首地址,我们必须要用for循环才能完整的输出整个整形数组
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-11-30
数组名指向的就是数组首地址,
printf("%s",ch);会按照ch指向的地址读取ch长度的数据,读取出来的数据自然是“hello”了

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网