我爱占星网 我爱占星网
首页
编程
java
php
前端
首页 编程 java php 前端

C语言二维数组与指针问题

我想知道为什么定义二维数组a[2][3]后

a+1表示的是第二行的地址而不是

第一行的第二个元素?

 

 

a[2][3]的另一层含义是,a中有两个数组,这两个数组中有3个元素。a+1就是指向第1个元素(从0开始),也就是第二行数组。

从指针的角度来说,

int a[2][3]相当于

int **p;

p = new int*[2];

for(i = 0; i < 2;i++)

{

    p[i] = new int[3];  // 

}

所以a+1不可能跨过两层地址去直接表示第一行的第二个元素。

近期文章

  • 初学c语言, 怎么用scanf一次读取一个字母删掉所给字符串中的所有元音字母?
  • 救救孩子C++吧,跪求大神救命
  • 求大佬解题救救孩子吧
  • 求个Hoshinobot最新的win版搭建教程
  • Python数据处理
  • 为什么webpack打包成功无法自动打开浏览器
  • 用devc编写坦克大战
  • Jquery 利用after动态添加数据 整个内容识别成字符串
  • 经典算法题
  • python spyder怎么做
  • 若依框架对外接口请求跳过登录
  • Why “No module named `qrcode'”?
  • 为什么科研在线网站进不去
  • sql server重复数据消除
  • 点搭网在操作seo中如何做好原创文章?
  • MATLAB 循环赋值
  • 笔记本电脑需不需要贴膜啊?我贴的蓝光膜,还是说不贴好一些?
  • AtomicInteger真的支持并发操作吗?
  • GRU神经网络中更新门的作用。
  • 将目标算法用MATLAB实现(本人新手,请多多添加标注,以免我看不懂)

Copyright ©2022 我爱占星 All Rights Reserved.

浙ICP备2022030071号-1

部分图文来自网络,如有侵犯您的版权,请告诉我们删除

友情链接:代码精华