怎么用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
怎么用sizeof求数组长度 sizeof数组长度 sizeof数组名为多少
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。