一维数组作为函数参数可以写成: f(int * array , int size) 或者 f(int array[] , int size) ([]中的数组的维数可选)
二维数组作为函数参数可以写成:f(int array[][10] ,int size1 ,int size2 ,....)的形式,除了第一维的参数可以省略,其他的参数必须显示说明。以上面为例,编译器寻找array[3][3]的地址时通过(array+3*10+3)得到,若不指定其他的维数,则编译器无法计算元素地址。
二维数组作为函数参数也可以通过指针的方式传递,比如f(int **array,int size1,int size2) size2为第二维的维数,得到某一元素的地址需要手动计算,比如array[3][3]的指针为((int *)array+3*10+3)
新闻热点
疑难解答