数组参数和指针参数

1.C语言中只会以值拷贝的方式传递参数

2.当向函数传递数组时,将数组名看做常量指针传数组首元素地址

3.二维数组参数同样存在退化的问题,二维数组可以看做是一维数组,二维数组中的每个元素是一维数组

4.二维数组参数中第一维的参数可以省略

5.C语言中无法向一个函数传递任意的多维数组

6.为了提供正确的指针运算,必须提供除第一维之外的所有维长度

7.限制:一维数组参数-必须提供一个标志数组结束位置的长度信息

        二维数组参数-不能直接传递给函数

        三维或更多维数组参数-无法使用

#include <stdio.h>void access(int a[][3], int row){    int col = sizeof(*a) / sizeof(int);    int i = 0;    int j = 0;        printf("sizeof(a) = %d\n", sizeof(a));        for(i=0; i<row; i++)    {        for(j=0; j<col; j++)        {            printf("%d\n", a[i][j]);        }    }}int main(){    int a[3][3] = {{0, 1, 2}, {3, 4, 5}, {6, 7, 8}};        access(a, 3);}


猜你喜欢

转载自blog.csdn.net/qq_31208451/article/details/77430472