c语言数组能当参数吗,C语言,一维数组做函数参数

在C语言中,一维数组,做函数参数,实际上传递的是数组元素的首地址,可以是数组形式,也可以是指针形式,如Invertal(int p,int len)等价于Invertal(int p[],int len),编译器不检查数组长度;形参数组和实参数组占用一段共同的内存,用地址传递效率较高,如果确定此被调函数不需要修改数组中的元素,可以在参数前面加const,如Invertal(const intp,const int len),这样如果在调用过程试图更改数组元素,编译器会报错。参考代码如下:

void Invertal(int p, int len);

void outputArray(intp, int len);

int main(int argc, char * argv[])

{

int a[10] = {1,3,5,7,12,11,0,9,22,8};

outputArray(a, 10);

printf("\n");

Invertal(a,10);

outputArray(a, 10);

printf("\n");

system("pause");

return 0;

}

void Invertal(int *p, int len)

{

int i,j;

int tmp;

for (i = 0, j = len - 1; i < len / 2; i++, j--)

{

tmp = p[i];

p[i] = p[j];

p[j] = tmp;

}

}

void outputArray(int *p, int len)

{

int i;

for (i = 0; i < len; i++)

{

printf("%d ", p[i]);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值