#include<stdio.h>
void test1(int arr[ ])
{
printf("%d\n", sizeof(arr));
}
void test2(int ch[ ])
{
printf("%d\n", sizeof(ch));
}
int main()
{
int arr[10] = { 0 };
char ch[10] = { 0 };
printf("%d\n", sizeof(arr));//40,里面有10个元素,一个int占四个字节,在32位编译器上(64位编译器上为 上8个字节)
printf("%d\n", sizeof(ch));//10,里面有10个元素,一个char占一个字节,在32位编译器上
test1(arr);//4,传进去的为地址,所有数据类型的地址都为四个字节
test2(ch);//4,传进去的为地址,所有数据类型的地址都为四个字节
return 0;
}
数组传参时,到底是传数组的首地址,还是把整个数组元素传过去
最新推荐文章于 2024-06-04 18:59:35 发布