A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lvguodong 中级黑马   /  2015-10-2 00:07  /  529 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. #include <stdio.h>
  2. int arrMy(int arr[]);
  3. int add(int a);
  4. int brrMy(int arr[]);
  5. int crrMy(int arr[],int a);
  6. int main()
  7. {
  8.     int a=1,b=2,c=3,
  9.     arr[]={4,5},brr[]={4,5,6,7,8,9},crr[]={6,7,8,9};
  10.     printf("arr数组的字节数为:%d\n",arrMy(arr));
  11.     printf("brr数组的字节数为:%d\n",arrMy(brr));    //数组作为函数的参数时传递的是数组的地址(数组的地址等于数组首位元素的地址),而地址是指针类型,指针类型在当前环境下是8个字节
  12.     printf("brr数组的字节数为:%lu\n",sizeof(brr));   //brr代表的是brr[]整个数组
  13.     add(c);
  14.     printf("此时c=%d\n",c);
  15.     printf("crr[0]最开始的值为:%d\n",crr[0]);
  16.     brrMy(crr);        //数组作为函数的参数时传递的是数组的地址(数组的地址等于数组首位元素的地址)
  17.     printf("crr[0]现在的值为:%d\n",crr[0]);    //crr数组的首个元素的值发生了变更
  18.     int s=sizeof(brr)/sizeof(int);   //计算数组的长度
  19.     printf("brr数组的长度为:%d\n",s);
  20.     crrMy(brr,s);
  21.     return 0;
  22. }
  23. int arrMy(int arr[])
  24. {
  25.     return sizeof(arr);
  26. }
  27. int add(int a)
  28. {
  29.     return a+10;
  30. }
  31. int brrMy(int arr[])
  32.     {
  33.         arr[0]=10;      //数组作为函数的参数时传递的是数组的地址(数组的地址等于数组首位元素的地址)
  34.         return sizeof(arr);
  35.     }
  36. int crrMy(int arr[],int a)
  37. {
  38.     arr[0]=10;      //数组作为函数的参数时传递的是数组的地址(数组的地址等于数组首位元素的地址)
  39.     for (int i=0; i<a; i++) {
  40.         printf("brr[%d]=%d\n",i,arr[i]);
  41.     }
  42.     return sizeof(arr);
  43. }
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马