如何求取 C 语言数组长度
直接法
<code class="c">#include <stdio.h>
int main() {
int arr[] = {1, 2, 3, 4, 5};
int len = sizeof(arr) / sizeof(arr[0]);
printf("数组长度:%d\n", len);
return 0;
}</code>sizeof 运算符
C 语言中,
sizeof运算符可以获得变量或数据类型的大小。对于数组,
sizeof返回数组中所有元素所占用的总字节数,通过将其除以单个元素的大小,即可得到数组长度。
立即学习“C语言免费学习笔记(深入)”;
其他方法
上述方法是标准方法,但在某些情况下,还可以使用其他方法来求取数组长度:
数组边界宏:一些编译器提供了数组边界宏,如_countof(Visual C++)或
__builtin_object_size(GCC)。这些宏可直接返回数组长度。 指向数组末尾的指针:为数组分配内存时,系统会分配额外的空间用于存储数组结束符。在数组结束符之前有一个指针指向数组的第一个元素,通过减去这两个指针的值,即可得到数组长度。
