关于数组,sizeof(),strlen的计算问题
2017-03-20 11:34
295 查看
总体来说,规则是这样:
strlen 得到字符个数 不包括'\0'
sizeof 是变量内存大小
最佳的例子,如下:
1. 对于计算数组长度来说,需要注意sizeof的使用。
(1)如果数组作为形参,则数组名退化成指针,此时sizeof()在32位系统下返回4,在64位系统下返回8。
也就是说,在函数里面,无法通过数组形参直接得到数组长度,想要得到数组长度的唯一办法就是,
增加一个参数int
length,把长度直接传进来。
(2)如果直接对数组使用sizeof(),那么得到的是这个数组开辟的内存大小。
2. 对于计算字符串的字符个数,最好使用strlen
strlen 得到字符个数 不包括'\0'
sizeof 是变量内存大小
最佳的例子,如下:
1. 对于计算数组长度来说,需要注意sizeof的使用。
(1)如果数组作为形参,则数组名退化成指针,此时sizeof()在32位系统下返回4,在64位系统下返回8。
也就是说,在函数里面,无法通过数组形参直接得到数组长度,想要得到数组长度的唯一办法就是,
增加一个参数int
length,把长度直接传进来。
(2)如果直接对数组使用sizeof(),那么得到的是这个数组开辟的内存大小。
2. 对于计算字符串的字符个数,最好使用strlen
相关文章推荐
- 发现关于数组求其长度 strlen 和 sizeof的问题
- C语言中,当计算字符数组长度时,用sizeof 和strlen 的原理及两者的区别
- 关于类对象大小的 sizeof 计算问题
- C++中用sizeof()计算数组长度问题
- 计算字符串的长度及sizeof与strlen、gets与scanf、字符数组与字符串
- 关于数组中的sizeof和strlen
- iOS开发 ----- 关于char *的赋值和字符串之间的复制问题以及sizeof strlen
- 关于sizeof和strlen()那些年我们都迷惑过的问题
- 字符数组中关于strlen的问题(未初始化)
- 关于类对象大小的 sizeof 计算问题
- 关于strlen 计算未初始化的字符数组长度
- 关于sizeof 和strlen 的计算的知识总结
- 关于类对象大小的 sizeof 计算问题(续)
- C语言中,当计算字符数组长度时,用sizeof 和strlen 的原理及两者的区别
- 补补基础知识,关于字符串,字符数组,CString型字符串,strlen,sizeof
- strlen与sizeof计算char* 与char数组
- sizeof和strlen在数组中的计算
- 关于数组名在sizeof内部和在strlen内部
- 关于类对象大小的 sizeof 计算问题
- 关于数组做形参,用sizeof测长度的问题