您的位置:首页 > 房产 > 家装 > 防城港网站设计_在线国内免费crm_营销策略有哪些方法_怎样建网站?

防城港网站设计_在线国内免费crm_营销策略有哪些方法_怎样建网站?

2025/3/13 6:04:50 来源:https://blog.csdn.net/PinnsiR/article/details/146117140  浏览:    关键词:防城港网站设计_在线国内免费crm_营销策略有哪些方法_怎样建网站?
防城港网站设计_在线国内免费crm_营销策略有哪些方法_怎样建网站?

7.1 数组指针

数组指针 的意思,即为通过 指针 引用 数组,例如int (*p)[10],此时 p 是一个 指针变量 ,指向一个数组大小为 10 的 数组,所以int (*p)[10]即为一个数组指针。

二维数组与数组指针的关系

  • 在我们对指针进行加法(减法)运算时,它前进(后退)的步长与它指向的数据类型有关

    • p指向的数据类型是int[4],那么p+1就前进4×4=16个字节,p-1就后退16个字节,这正好是数组a所包含的每个一维数组的长度。

    • 也就是说p+1会使得指针指向二维数组的下一行,p-1会使得指针指向数组的上一行。

  • 数组名a在表达式中也会被转换为和p等价的指针。

下面我们使用指针 p 来访问二维数组中的每个元素,按照上面的定义:

  • p 指向数组a的开头,也即第0行;p+1前进一行,指向第1行。

  • *(p+1) 表示取地址上的数据,也就是整个第1行数据。注意是一行数据,是多个数据,不是第1行中的第0个元素,下面的输出结果证明了这一点:

     #include<stdio.h>
     int main(){
         int a[3][4] = {{0,1,2,3},{4,5,6,7},{8,9,10,11}};
         int(*p)[4]=a;
         printf("%d\\n",sizeof(*(p+1)));
         return0;
    

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com