关于数组和指针的一点个人理解
本帖最后由 zac_z 于 2020-10-10 23:31 编辑小甲鱼老师视频里讲解的内容让我知道了怎么去使用指针,我自己尝试的去理解得深入一些,如果有错误希望大神们指出,如果我的理解能帮助你更深入的了解数组和指针,我感到十分的高兴!
以下为我的理解
数组与指针
一、一维数组与指针
数组名array表示的是数组第一个元素的地址;&array表示的是数组首地址。
*为解引用符号,表示解出上一层的含义,假如p为一个数值的地址,则解p就得到地址里面存放的数值,*p;此时p为一个数值指针。假如*p = &a,此时P为一个地址指针,解p得到一个地址,此时*P是一个值的指针,再对其求解得到*p地址下存放的值。
二、二维数组与指针
二维数组只能用数组指针指向原因在于array本身就是一个数组指针。指针赋值只能同级赋值。
当array为一维的时候,array是一维的数组指针,也是其内部的元素指针,array + 1 表示为下一个元素的地址。当array为二维数组时,array[][],array实际上二维数组最高维度数组的指针(最高维度首地址此时和array的第一个元素地址相同,容易弄混。),array+1表示最高维度的下一个同维度的数组地址。当我们对其求解 *array则可以得到下一维度的数组指针(因为这里仅有二维,故下一维度的指针既是数组指针又是数值指针)。当多维的情况时,参照二维。
页:
[1]