c语言中strlen 与sizeof有什么区别?

char a[10]="abcd"; sizeof(a)为10为什么?字符不是才一个字节吗?不是应该为5吗?

饮歌长啸
浏览 1206回答 1
1回答

郎朗坤

strlen 是返回字符串的长度。而sizeof,却是用来取得变量或类型所占用的内存大小的。这个a数组的字符串长度为4(末尾的\0是不计入字符串长度的),但a是10个单位的char型,它占用的内存空间是10*sizeof(char),为10. sizeof 返回的数量的单位是Byte.
打开App,查看更多内容
随时随地看视频慕课网APP