c语言怎么计算数组长度

在C语言中,计算数组长度的方法有很多种,这里我将介绍两种常用的方法:使用sizeof运算符和使用指针。

c语言怎么计算数组长度
(图片来源网络,侵删)

1、使用sizeof运算符

sizeof是C语言中的一个运算符,用于计算数据类型或变量所占用的内存大小,对于数组来说,我们可以使用sizeof运算符来计算数组的总字节数,然后再除以数组中每个元素的字节数,从而得到数组的长度。

以下是一个使用sizeof运算符计算数组长度的示例:

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

在这个示例中,我们首先定义了一个整型数组arr,然后使用sizeof运算符分别计算数组arr和数组中第一个元素arr[0]所占用的内存大小,由于数组名实际上就是一个指向数组首元素的指针,所以sizeof(arr)计算的就是整个数组所占用的内存大小,而sizeof(arr[0])计算的则是数组中一个元素所占用的内存大小,我们将数组总字节数除以单个元素字节数,得到数组的长度。

2、使用指针

除了使用sizeof运算符外,我们还可以使用指针来计算数组的长度,这种方法的基本思路是遍历数组,直到遇到一个空指针(即NULL),然后统计遍历过程中遇到的非空指针的数量。

以下是一个使用指针计算数组长度的示例:

#include <stdio.h>
int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int length = 0;
    int *p = arr;
    while (*p != '