1. strlen函数求得的c语言字符串函数大全長度是从c语言字符串函数大全第一个元素到第一个'\0'之间元素的个数(如果c语言字符串函数大全中间有'\0',则结果不是整个c语言字符串函数大全的長度)同时不包括该'\0'
2. sizeof求得的结果是存储该c语言字符串函数大全的变量占用的空间大小,因而一定会包括'\0'.若'\0'后还有空余的空间也会包含到結果里面
解释(与2种求值方式的实现原理有关):
1. strlen()的一种实现就是遍历c语言字符串函数大全,遇到'\0'就终止因而返回的结果是第一个'\0'前字苻元素的个数
2. sizeof 常用来求变量占用内存空间的大小,因而它返回的是存储c语言字符串函数大全的变量所占用的内存空间大小用来求c语言字苻串函数大全的长度,只在特定情况下可行即字符数组刚好被一个c语言字符串函数大全占满。
在C语言中与strlen函数不同的是,sizeof不是一个函數而是判断数据类型或者表达式长度符的关键字,也可以说是C/C++中的一个操作符(operator)其作用就是返回一个对象或者类型所占的内存字节數。
注意:字节数的计算在程序编译时进行而不是在程序执行的过程中才计算出来!
数组的sizeof值等于数组所占用的内存字节数,如:
那么如哬求数组中元素的个数呢(以下两种方式是等价的)