- #include <stdio.h>
- int arrMy(int arr[]);
- int add(int a);
- int brrMy(int arr[]);
- int crrMy(int arr[],int a);
- int main()
- {
- int a=1,b=2,c=3,
- arr[]={4,5},brr[]={4,5,6,7,8,9},crr[]={6,7,8,9};
- printf("arr数组的字节数为:%d\n",arrMy(arr));
- printf("brr数组的字节数为:%d\n",arrMy(brr)); //数组作为函数的参数时传递的是数组的地址(数组的地址等于数组首位元素的地址),而地址是指针类型,指针类型在当前环境下是8个字节
- printf("brr数组的字节数为:%lu\n",sizeof(brr)); //brr代表的是brr[]整个数组
- add(c);
- printf("此时c=%d\n",c);
- printf("crr[0]最开始的值为:%d\n",crr[0]);
- brrMy(crr); //数组作为函数的参数时传递的是数组的地址(数组的地址等于数组首位元素的地址)
- printf("crr[0]现在的值为:%d\n",crr[0]); //crr数组的首个元素的值发生了变更
- int s=sizeof(brr)/sizeof(int); //计算数组的长度
- printf("brr数组的长度为:%d\n",s);
- crrMy(brr,s);
- return 0;
- }
- int arrMy(int arr[])
- {
- return sizeof(arr);
- }
- int add(int a)
- {
- return a+10;
- }
- int brrMy(int arr[])
- {
- arr[0]=10; //数组作为函数的参数时传递的是数组的地址(数组的地址等于数组首位元素的地址)
- return sizeof(arr);
- }
- int crrMy(int arr[],int a)
- {
- arr[0]=10; //数组作为函数的参数时传递的是数组的地址(数组的地址等于数组首位元素的地址)
- for (int i=0; i<a; i++) {
- printf("brr[%d]=%d\n",i,arr[i]);
- }
- return sizeof(arr);
- }
复制代码
|
|