c语言数组与指针

    xiaoxiao2021-12-14  17

    1.定义数组杜绝用变量来表示长度。

    例如int n;  int a[n];

     

    2.数组初始化为0int a[ ] = {0};memset(a,0,sizeof(a));

     

    3.一维数组

    数组名是指针常量,保存的是数组首元素的地址,不能自加。

    &a:对一维数组名取地址等于一维数组的地址

    *(&a) = a;:对一维数组的地址取值等于一维数组首元素的地址

    a:一维数组首元素的地址

     

    4.二维数组

    aa:首个一维数组的地址

    *aa:首个一维数组的首元素的地址

    &aa:对二维数组名取地址等于二维数组的地址

    *&aa= aa: 对二维数组的地址取值等于首个一维数组的地址

     

    5.三维数组

    ***a + i+ j+ k;

    a + i:第i+1个二维数组的地址

    *a+i):第i+1个二维数组的首个一维数组的地址

    *a+i+j:第i+1个二维数组的第j+1个一维数组的地址

    **a+i+j):第i+1个二维数组的第j+1个一维数组的首元素的地址

    **a+i+j+k:第i+1个二维数组的第j+1个一维数组的第k+1个元素的地址

    ***a + i+ j+ k):第i+1个二维数组的第j+1个一维数组的第k+1个元素的值

     

    6.数组指针(在函数传参时使用)

    传一维数组名用元素的指针来接

    传二维数组名用一维数组指针来接

     

    7.指针数组(要避免野指针)

    转载请注明原文地址: https://ju.6miu.com/read-972248.html

    最新回复(0)