醉听风 发表于 2022-2-14 20:31:34

关于计算数组元素

为什么在自己写的函数里面用sizeof算不出数组元素个数呢?


#include <stdio.h>

int list_max(int);

int list_max(int list[])
{
        int lenght;
        lenght = sizeof(list) / sizeof(list);
        printf("???:%d\n", lenght);
}

int main(void)
{
        int n, lenght;
        int list[] = {73, 108, 111, 118, 101, 70, 105, 104, 67, 77};
        lenght = sizeof(list) / sizeof(list);
        printf("!!!:%d\n", lenght);
    list_max(list);

}

傻眼貓咪 发表于 2022-2-14 20:58:16

sizeof 指针了,不是数组

报错提示:warning: ‘sizeof’ on array function parameter ‘list’ will return size of ‘int *’

醉听风 发表于 2022-2-14 21:27:17

对了,传入数组的是地址,不是整个空间
页: [1]
查看完整版本: 关于计算数组元素