gpt4 book ai didi

C:查找数组中元素的数量[]

转载 作者:太空狗 更新时间:2023-10-29 16:34:58 24 4
gpt4 key购买 nike

在 C 中:在将结构数组发送给函数后,如何找到它的元素数量?

int main(void) {
myStruct array[] = { struct1, struct2, struct3, struct4, struct5, struct6 };
printf("%d\n", sizeof(array));
printf("%d\n", sizeof(array[0]));
f(array);
}
void f(myStruct* array) {
printf("%d\n", sizeof(array));
printf("%d\n", sizeof(array[0]));
}

出于某种原因,main 中的 printf 显示的结果与 f 中的 printf 不同。我需要知道数组中有多少个元素。

最佳答案

你不能。

您必须将大小传递给函数,例如:

void f(myStruct* array, size_t siz);

另请注意,在f 中数组是一个指针,而在main 中它是一个数组。数组和指针是不同的东西。

关于C:查找数组中元素的数量[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4081100/

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