2016 - 2024

感恩一路有你

怎么用sizeof求数组长度 在C语言中用sizeof()测试数组或字符串大小的差异是什么?

浏览量:2141 时间:2021-04-06 15:56:16 作者:admin

在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数组名为多少

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。