demo9_数组传参中关于形式参数的秘密.c
//形式参数中不存在数组的概念,即便中括号约定了数组的大小,也无效。int arry[]传递的是一个地址,数组的首地址。
//在os中一个地址占8个字节
//在函数中传递数组有两种方式:第一种直接传递数组名(数组名代表整个数组的首地址),第二种传递数组的首地址
#include <stdio.h>
void printArry(int arry[],int len){//形式参数中不存在数组的概念,即便中括号约定了数组的大小,也无效。int arry[]传递的是一个地址,数组的首地址。
int i; //在os中一个地址占8个字节
printf("printArry: arry的大小是:%d\n",sizeof(arry));
for (i=0;i<len;i++){
printf("%d ",arry[i]);
}
putchar('\n');
}
int main()
{
int len;
int arry[5] = {1,2,3,4,5};
printf("arry: arry的大小是:%d\n",sizeof(arry));
len = sizeof(arry)/sizeof(arry[0]);//通过sizeof计算数组的长度
//在函数中传递数组有两种方式
printArry(arry,len);//第一种直接传递数组名(数组名代表整个数组的首地址)
//printArry(&arry[0],len);第二种传递数组的首地址
return 0;
} ```