gpt4 book ai didi

c - 如何在C中获取数组的长度? "sizeof"是解决方案吗?

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

<分区>

Possible Duplicate:
Sizeof an array in the C programming language?
Why does a C-Array have a wrong sizeof() value when it's passed to a function?

请看下面的代码,并告诉我“sizeof”关键字在我这样使用时有什么区别:

#include<stdio.h>
#include<conio.h>
void show(int ar[]);
void main()
{
int arr[]={1,2,3,4,5};
clrscr();
printf("Length: %d\n",sizeof(arr));
printf("Length: %d\n",sizeof(arr)/sizeof(int));
show(arr);
getch();
}
void show(int ar[])
{
printf("Length: %d", sizeof(ar));
printf("Length: %d", sizeof(ar)/sizeof(int));
}

但是输出是这样的:

Output is:

Length: 10

Length: 5

Length: 2

Length: 1

为什么我会这样;如果我想将整个数据从一个数组转移到另一个数组,我该怎么做?

建议我,如果有人知道。

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