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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


当数组作为函数参数时传递的是地址,而地址是指针类型,在当前环境下占8字节。

#include <stdio.h>
int myArr(int arr[]);
int main(){
    int arr1[3]={1,2,3};
    int arr2[2]={1,2};
    int num=myArr(arr1);
    printf("%d,%lu\n",num,sizeof(arr1));
    int num1=myArr(arr2);
      printf("---%d,---%lu\n",num1,sizeof(arr2));
    /*即便是数组长度发生变化,打印字节数仍是8,因为当数组作为函数参数时传递的是地址,而地址是指针类型,在当前环境下占8字节。
     */
    return 0;
}
int myArr(int arr[]){
  
    return sizeof(arr);
}

1 个回复

倒序浏览
重点是楼主你试试 引用之后你的数组元素有没有变化 =.=
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马