2301_78618908 2023-12-06 23:05 采纳率: 12.5%
浏览 17

为什么数组传参给函数只传递了首元素的地址但是可以在函数里面

为什么数组传参给函数只传递了首元素的地址但是可以在函数里面对其他元素值进行修改

/*void bubble_sort(int a[],int size){            //这里a[]为数组首元素的地址
    int i,j;
for(i=0;i<size;i++){
    int flag=1;
    for(j=0;j<size-i-1;j++){
        if(a[j]>a[j+1]){
            int k;
            k=a[j];
            a[j]=a[j+1];       //那这里的a[j]是怎么的到具体的数的呢
            a[j+1]=k;
            flag=0;
        }
    }
}
if(flag==1)
{break;       
}
} 
int main(){
int a[]={4,6,2,7,9,3,0};
int size=7;
bubble_sort(a,size);        //这里传递了首元素地址
int q;
for(q=0;q<7;q++){
    printf("%d",a[q]);}
    return 0;
}



  • 写回答

5条回答 默认 最新

  • 浪客 2023-12-06 23:09
    关注

    void bubble_sort(int a[],int size)
    数组a传递给函数后会退化为指针,数组名本身也是个指针。

    评论

报告相同问题?

问题事件

  • 创建了问题 12月6日

悬赏问题

  • ¥15 curl 命令调用正常,程序调用报 java.net.ConnectException: connection refused
  • ¥20 关于web前端如何播放二次加密m3u8视频的问题
  • ¥20 spring boot集成mqtt的使用问题
  • ¥15 使用百度地图api 位置函数报错?
  • ¥15 metamask如何添加TRON自定义网络
  • ¥66 关于川崎机器人调速问题
  • ¥15 winFrom界面无法打开
  • ¥30 crossover21 ARM64版本安装软件问题
  • ¥15 mymetaobjecthandler没有进入
  • ¥15 mmo能不能做客户端怪物