C语言获取数组长度的方法

来源:这里教程网 时间:2026-02-21 16:47:52 作者:

C 语言获取数组长度的方法

在 C 语言中,数组是一种数据结构,它可以存储相同类型的数据集合。与其他编程语言不同,C 语言中没有内置的机制来获取数组的长度。因此,我们需要通过其他方法来获取数组长度。

方法 1:使用 sizeof() 运算符

sizeof()
运算符返回变量或数据结构在内存中占用的字节数。可以用它来计算数组长度,方法如下:

立即学习“C语言免费学习笔记(深入)”;

<code class="c">#include <stdio.h>
int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int length = sizeof(arr) / sizeof(arr[0]);
    printf("数组长度: %d\n", length);
    return 0;
}</code>

在这个例子中,

arr
是一个整数数组。
sizeof(arr)
返回整个数组占用的字节数,
sizeof(arr[0])
返回单个数组元素占用的字节数。通过将前者除以后者,我们可以得到数组的长度。

方法 2:使用宏

我们可以定义一个宏来获取数组长度。宏是一种预处理器指令,在编译时展开。例如:

<code class="c">#define ARRAY_LENGTH(arr) (sizeof(arr) / sizeof(arr[0]))</code>

现在,我们可以使用宏来获取数组长度:

<code class="c">#include <stdio.h>
int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int length = ARRAY_LENGTH(arr);
    printf("数组长度: %d\n", length);
    return 0;
}</code>

注意:

这些方法只适用于已知长度的静态数组。 如果数组的长度是可变的(例如,动态分配的数组),则需要使用其他方法来跟踪数组的长度。

相关推荐