c语言用sizeof求字节数 在C语言中用sizeof()测试数组或字符串大小的差异是什么?
在C语言中用sizeof()测试数组或字符串大小的差异是什么?
1. 在回答这个问题之前,我们需要了解sizeof是什么。Sizeof是单目运算符,用于获取数组或其他数据类型的大小。大小以字节为单位,其返回类型为size 。尤其是,sizeof是编译时运算符,也就是说,它不会增加任何执行时负担。下面我们来看一个例子:
float array[20
]此时,sizeof(array)将返回80,因为一个float类型占用4个字节,而数组有20个float,所以返回80
如果您想返回数组的元素数,您可以这样写:
sizeof(array)/sizeof(array[0])
2当我们使用sizeof获取字符串大小时,我们应该特别注意以下示例:
如果我们定义以下变量:
char*STR1=“asdfgh”
char STR2[]=“asdfgh”
使用sizeof分别获取STR1和STR2的大小时,返回值不同:
sizeof(STR1),],返回值是4,因为STR1是指针。在32位计算机中,指针大小通常为4字节,因此大小为4。
sizeof(STR2)。返回值是7,一个字符串。C语言默认在尾部添加0,因此STR2数组有7个元素,即a、s、D、F、G、H、0
在C语言中,sizeof()不需要包含头文件,因为sizeof在C语言中实际上是一种单目运算符,也是关键字之一,所以可以直接使用。在C语言中,sizeof()是一个用来判断数据类型或表达式长度的操作符。简而言之,它的功能是返回对象或类型占用的内存字节数。Sizeof计算对象的大小,也转换为计算对象类型。换句话说,同一类型的不同对象的sizeof值是一致的。Sizeof计算表达式。编译器根据表达式的最终结果类型确定大小。通常,它不计算表达式。通常,在32位编译环境中,sizeof(int)的值是4。strlen(char*)函数计算字符串的实际长度,直到第一个“0”,然后返回计数值,不包括“0”。函数的作用是:返回声明变量占用的内存,而不是实际长度。
2. 作为sizeof参数的数组不会退化。如果传递给strlen,它将退化为指针。
3. Sizeof可以使用type作为参数,strlen只能使用char*作为参数,并且必须以“”0 “”结尾。
c语言用sizeof求字节数 c语言计算加减乘除的程序 c语言goto怎么用
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。