数组与指针适用场合
指针 -> 地址 -> 一对一
数组 -> 地址集合 -> 一对多
int a = 1; // 字面变量
// 大写表示 数组 小写表示 指针
/****************************/
int * c; // 一级指针
int C[1]; // 一级数组
/****************************/
int CC[1][1]; // 二级数组
int ** cc; // 二级指针
/****************************/
int * cC[1]; // 一级指针 一级数组
int (*Cc)[1]; // 一级数组 一级指针
/****************************/
int ***ccc; // 三级指针
int CCC[1][1][1]; // 三级数组
/****************************/
int (**Ccc)[1]; // 一级数组 二级指针
int ** ccC[1]; // 二级指针 一级数组
/****************************/
int * cCC[1][1]; // 一级指针 二级数组
int (* CCc)[1][1]; // 二级数组 一级指针
/****************************/
int (*CcC[1])[1]; // 一级数组 一级指针 一级数组
int *((*cCc)[1]); // 一级指针 一级数组 一级指针
// 考虑到三级别
其中二级层次比较好理解
让我们来谈谈三级层次
名称 | 具体映像 |
---|---|
ccc | 1 >> 1 >> 1 |
CCC | ? >> ? >> ? |
Ccc | 1 >> 1 >> ? |
ccC | ? >> 1 >> 1 |
cCC | ? >> ? >> 1 |
CCc | 1 >> ? >> ? |
CcC | ? >> 1 >> ? |
cCc | 1 >> ? >> 1 |