相关疑难解决方法(0)

C中的array_length

我写了一个像这样的array_length函数:

int array_length(int a[]){
    return sizeof(a)/sizeof(int);
}
Run Code Online (Sandbox Code Playgroud)

然而,当我这样做时它会返回2

unsigned int len = array_length(arr);
printf ("%i" , len);
Run Code Online (Sandbox Code Playgroud)

我在哪里

int arr[] = {3,4,5,6,1,7,2};
int * parr = arr;
Run Code Online (Sandbox Code Playgroud)

但是当我这么做的时候

int k = sizeof(arr)/sizeof(int);
printf("%i", k);
Run Code Online (Sandbox Code Playgroud)

在main函数中,它返回7.

编写array_length函数的正确方法是什么?如何使用它?

c arrays

10
推荐指数
5
解决办法
2万
查看次数

标签 统计

arrays ×1

c ×1