C/C++
文章平均质量分 86
都是说说而已
这个作者很懒,什么都没留下…
展开
-
指针的进阶:数组指针、指针数组、二维数组、二维指针数组、二维数组指针、三维数组、三级指针
我们来看一维数组的情况,一维数组名是个一级指针,它的加一操作是指向下一个数组元素(*(A+1)等价于A[1] ),而一级指针的加一操作也是指向下一个元素,当我们用一级指针指向一维数组后,它们的加一操作是等效的。在弄懂了二维数组与二级指针的关系后,三级指针与三维数组的不同点也就很好理解了,对于一个三维数组,其数组名是个三级指针,但本质是个二维数组指针,数组名加一表示指向下一个二维数组,定义形式为int (*p)[3][3](int为三维数组元素类型,[3][3]为三维数组中二维数组的元素个数,即行和列)。原创 2022-09-18 13:34:34 · 499 阅读 · 1 评论 -
C/C++中指针、数组、二维数组与指针数组的理解与原理
在学习C语言的过程中我们往往会被指针与数组弄的晕头转向,指针与数组有什么相似点?指针数组与二维数组有什么不同点?指针与数组是怎么存值和取值的?在内存中又是以什么形式存在的?等等。接下来我们将探讨这些问题。(这些知识点可能有些枯燥,希望能耐下心看完)首先我们来看一维数组,以整型数组举例: 我们定义了一个标识符为A(数组名)的整型数组,数组长度为3。在32位的编译器下编译,int数据类型为4字节,那么A数组在内存中的状态如图(地址递增方向不考虑): 我们可以看到数组A被分配了一原创 2022-06-10 22:21:57 · 643 阅读 · 0 评论