c语言,这个sizeof(ss)为什么是16而不是7

如题所述

因为你定义的数组a长度是16,其中每个char型占1个字节,所以总共16×1=16个字节。
不要把sizeof和strlen搞混了,sizeof返回变量占用的内存大小。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-09-19
char ss[16] = "tese\0\n";

//等价于下面,未声明的元素默认值为0

char ss[16] = {'t', 'e', 's', 'e', '\0', '\n', '\0'};

// 重点不在于后面的赋值,在于 ss 是一个数组

// 而 sizeof(数组) 返回的是数组的大小

所以返回为16

相似回答