[C语言] 修改数组形参能直接修改实参的方法

单个变量修改,如果要在函数中修改而主函数中相应地改变,用&就完事了
但如果想修改一个数组呢?

只需要传址的时候传入数组的头指针就可以了
见下,一看就懂(本人语文从高考后就不太行了,还是直接看代码好懂)

#include<bits/stdc++.h>
using namespace std;
#define in Read()
typedef long long ll;

int in{
    int i=0,f=1; char ch=0;
    while((ch<'0'||ch>'9')&&ch!='-') ch=getchar();
    if(ch=='-') f=-1, ch=getchar();
    while('0'<=ch&&ch<='9') i=(i<<1)+(i<<3)+ch-48, ch=getchar();
    return i*f;
}

void Sort(int *a,int n){
    sort(a+1,a+n+1);
}

int main(){

    freopen("1.in","r",stdin);

    int n=in;
    int a[100];
    for(int i=1;i<=n;++i) a[i]=in;
    Sort(a,n);
    for(int i=1;i<=n;++i) printf("%d ",a[i]);
    
}
posted @ 2022-11-20 00:04  antimo  阅读(133)  评论(0)    收藏  举报