在C语言中可以用二维数组作为实参或者形参。
10年积累的网站制作、成都网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有友好免费网站建设让你可以放心的选择与我们合作。
void fun(char ** str);char a[][10]={the quick,brown,fox};fun(a);不能向子函数传递一个数组,但是可以用数组指针实现传递,一维数组一个星号,二维数组两个星号,三维数组三个星号。。
C/C++中,二维数组的第一维的每一个元素都是一维数组。所以,用指向一维数组的指针或用第一维维数空缺的二维数组作为函数的形式参数都能达到目的。
实参:a[x], a[y]。你在函数中写一个循环10次的for,借助一个中间变量,可以将a[x]和a[y]指向的内容(即10个整型值)互换。函数声明时忽略数组维数,所以形参中不需要指出100或者10这几个数字的。
不可能达到目的。因为C语言中没有引用这类型,C++才有。另,C/C++都不支持传递数组,只能传递数组的首元素或行指针,所以即使是C++,也只能传递数组指针的引用,而不可能传递数组的引用,因为数组没有引用。
数组名的本质是地址,也就是指针,如果要让数组名作为形参,必须写成(int array[])的形式,或者(int * array)。
也就是说,在函数的形参列表里指定数组的成员个数是没有意义的,所以,你传入的实参究竟是比10多还是比10少对于调用函数而言都是合法的。
C编译对 形参 数组 大小 不做检查,只是将实 参数 组的首地址传给形参数组,因此,实参 不论多大都不会出现形参溢出。在 定义 形参时可以不指定大小,而只在 后面 加方 括弧 。
形参使用指向数组的指针,实参直接用数组名。
C/C++中,二维数组的第一维的每一个元素都是一维数组。所以,用指向一维数组的指针或用第一维维数空缺的二维数组作为函数的形式参数都能达到目的。
下面例子,作为 指针传递 和 行指针传递。
二位数组传参数的时候,列坐标必须是确定的,不然数组寻址的指针操作无法进行,如果一定要动态的行列数,那就用一位数组模拟。
例如下面这个 int fun(int a[2][3],int n);或者 int fun(int a[][3],int n);要指出列数是多少,行数写不写都一样,行数要通过n进行传递。
对函数内的相应操作改为指针操作即可。通常情况下,对于一个系统设计而言,其输入输出是分开的,也即在2个函数中,从系统分析而言,建议分开。当然,就测试而言,是可以的。