在C++编程中我们经常将数组作为參数传递到另一个函数,数组的维数不同传递方式也不同,此处将作一个总结包括一维静态、动态数组,二维静态、动态数组
一,若函数的形参为一维数组组(静态、动态若函数的形参为一维数组组)
1 若函数的形参为一维数组组寻址形式:num[i]的地址:num+i,因此若函数的形参为一维数组组作为参数传递时候只需要用数组名作为参数即可。
1静态二维数组利用数组名和第二维大小作为参数
(1)二维数组如丅int num[M][N],二维数组寻址形式:num[i][j]的地址:num+i*N+j由此可知二维数组作为参数传递时候,除了数组名作为参数还需要数组第二维的大小,第一维随意
二维数组形参二种形式皆可:
2,动态二维数组利用二维指针传递数组参数
(1)我们知道动态二维数组的第一维和第二维都是变量,因此我们利用"数组名和二维大小作为形参"这种方式失效此处必须利用二维指针。
二维数组在子函数中使用方式:
3静态二维数组也可用二維指针。
二维数组在子函数中使用方式:
4下面给出了二维静态数组和动态数组的两个实例,有两处不同在程序中用红色标识了
比如说在main函数里有这个函数
这个函数里面是汇编编的而且已经通过运行。
这种方式是C语言里调用汇编程序的方法但是还有一种混合编程方法是inline方式,
我手头没有好的資料瞎折腾,但是怎么也不会传递参数比如说上面函数的第一个参数in,它是下面这样的
我试图用inline方式实现上面函数同样的功能,这麼弄