为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C
饮歌长啸 2018-08-29 15:11:37
char a[10]="abcd"; sizeof(a)为10为什么?字符不是才一个字节吗?不是应该为5吗?
查看完整描述

1 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

strlen 是返回字符串长度
而sizeof,却是用来取得变量类型所占用的内存大小的。
这个a数组的字符串长度为4(末尾的\0是不计入字符串长度的),但a是10个单位的char型,它占用的内存空间是10*sizeof(char),为10. sizeof 返回的数量的单位是Byte.

查看完整回答
反对 回复 2018-09-23
  • 1 回答
  • 0 关注
  • 1171 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信