gpt4 book ai didi

c - 大小(数组)/大小(整数)

转载 作者:行者123 更新时间:2023-12-04 04:56:43 27 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





C sizeof a passed array [duplicate]

(7 个回答)


8年前关闭。




在一个函数中,我声明了一个数组:

int char_count_array[118] = {0};

稍后,我将此数组传递给一个函数并计算以下内容:
int xx = sizeof(char_count_array); 
int xy = sizeof(char_count_array)/sizeof(int);

然而,我得到的结果是:xx = 4 xy = 1

我以为我会得到:xx = 472(118 * 4) xy = 118 (472/4)。

有谁知道我在这里做错了什么?

最佳答案

如果你将它传递给一个函数,它很可能是作为 int* 进入的。而不是 int[118] .所以你的 sizeof正在返回指针的大小。当您将 C 数组传递给函数时,通常还要传递元素的数量。

my_func( arr, sizeof(arr)/sizeof(arr[0]) );

关于c - 大小(数组)/大小(整数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16661605/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com