首页 > 代码库 > 【C】数组做形参
【C】数组做形参
前言
有时候想把一维、二维数组作为实参传入被调函数,有什么特殊么?
普通参数做实参
普通参数传入,其实是传入了一个copy,函数内对形参的操作并不能影响实参。
一维数组做实参
一维数组的传入,其实传入的是数组的首地址,函数内操作的也是数组真实的内存地址里的数据。
所以,以下三者是等价的
void func(int *a) void func(int a[]) void func(int a[5])
用法:一般的,数组作为参数传入,第一个形参是首地址,第二个形参是数组的size。
二维数组做实参
用法:二维数组的传入,可以写三个参数,第一个形参表示数组首地址,第二形参表示一维size,第三个形参表示二维size。
例如:
int plus(int a,int b) { int c=0; c=(++a)+(++b); return c; } int plusArr(int d[]){ ++d[0]; ++d[1]; } int caculate() { int a = 1; int b = 5; int c = 0; int d[2] = {8,9}; c=plus(1,2); print(a); pinrt(b); print(d[0],d[1]); } 结果:1 5 9 10
【C】数组做形参
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。