#include <stdio.h>
#include <stdlib.h>
//第一个参数表示的是地址,第二个参数表示的是数组的长度
//注意数组的长度超过数组的元素的时候,其中数组空余的地址全部由系统自动用0进行补充。
void arrypoint(int datas[], int ent ){ //注意在将数组作为函数的形参的时候,此时数组的中阔号中的内容没有意义,中括号仅仅表示该参数为数组,真正意义上是表示数组的地址。
//所以占用的字节为数组的类型的字节,并不是数组的总的占用的字节,例如 int datas[]表示的便是数组的类型为int类型地址占用的字节数为4个字节
//为了知道数组的长度通常采用的是再进行传输一个参数,再传参的时候便计算数组的长度。才将结算的结果作为参数进行传输。
//再windows系统中通常用四字节表示数组的地址,再Linux的环境中通常采用的是8个字节表示数组。
int i;
printf("datas数组的中总长度:%d
",sizeof(datas)); // 此处是求数组的大小,并不是求解数组的长度,这里的大小与数组的类型有关,与数组中的元素的个数无关
printf("int类型占用的字节的个数:%d
",sizeof(int));
for(i=0;i<ent;i++){
printf("%d",datas[i]);
}
}
void sss(){ //注意带参数的函数不能和不带参数的函数名相同
printf ("系统");
}
void ss1(int a, int b, char c){ //带有三个参数的函数
printf("a=%d,b=%d,c=%c
",a,b,c);
}
int main()
{ int arry[3]={1,3,4}; // 该数组已经进行了完全初始化。
printf("arry数组中元素的个数为:%d
",sizeof(arry)/sizeof(arry[0]));// 计算数组arry的数组的元素的个数
sss();
ss1(arry[0],arry[1],'c');
//将数组与函数进行联系
arrypoint(arry,sizeof(arry)/sizeof(arry[0]));//在将数组作为形参传参的时候,直接添加数组的名字即可,不用带上中括号
//数组是连续的,所以元素的第一个索引的地址也表示元该数组的地址
//arrypoint(&arry[0],sizeof(arry)/sizeof(arry[0]));//注意只能是元素的首地址表示数组的地址,因为数组的地址的指向也就是数组中第一个元素的地址,注意与上面的方式进行对比。
return 0;
}