当前位置: 首页 > news >正文

指针与二维数组

1、

对二维数组a,:a+i,a[i],*(a+i),&a[i][0]是等同的,代表第i行的首地址。

2、

&a[i]和a[i]也是等同的。因为在二维数组中不能把&a[i]理解为元素a[i]的地址,不存在元素a[i]。

由此,我们得出:a[i],&a[i],*(a+i)和a+i也都是等同的。 

a[i]+j=*(a+i)+j表示i行j列元素的首地址


3、把二维数组a分解为一维数组a[0],a[1],a[2]之后,设p为指向二维数组的指针变量。

int (*p)[4] 它表示p是一个指针变量,它指向包含4个元素的一维数组。
若指向第一个一维数组a[0],其值等于a,a[0],或&a[0][0]等。P+1----a[1]
而p+i则指向一维数组a[i]。从前面的分析可得出*(p+i)+j是二维数组i行j 列的元素的地址,而*(*(p+i)+j)则是i行j列元素的值

#include <stdio.h>
int main()
{
int a[3][4] ={0,1,2,3,4,5,6,7,8,9,10,11};
int (*p)[4];
int i,j;

p = a;
for(i=0; i<3; i++)
{
for(j=0; j<4; j++)
printf("%3d ", *(*(p+i)+j));
printf("\n");
}
Return 0;
}

4指针数组
指针数组是一个数组,里面存放的是指针

int *a[4];


相关文章:

  • 单链表的学习
  • 单链表的排序+手机通讯录源码
  • QT模式对话框
  • Qlable显示文本和图片
  • 工具按钮QToolButton
  • 组合框
  • 单行文本框+按钮实现用户登录
  • 勾选复选框后执行某一个操作
  • 点击按钮显示hello world
  • 文件对话框---做一个简单的文本编译器(1)
  • 系统调用与用户接口API
  • 完美解决QT+VS2013中文显示乱码
  • 字符串,QT字符串类,c++字符串类之间的转换
  • 文件对话框---做一个简单的文本编译器(2)
  • 文件对话框---做一个简单的文本编译器(3)
  • Debian下无root权限使用Python访问Oracle
  • JavaScript设计模式系列一:工厂模式
  • Java编程基础24——递归练习
  • java第三方包学习之lombok
  • JS函数式编程 数组部分风格 ES6版
  • mysql常用命令汇总
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • Rancher-k8s加速安装文档
  • Spring Cloud中负载均衡器概览
  • SQL 难点解决:记录的引用
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 京东美团研发面经
  • 聊聊flink的BlobWriter
  • 前端相关框架总和
  • 深度学习入门:10门免费线上课程推荐
  • 数据结构java版之冒泡排序及优化
  • 小程序开发中的那些坑
  • 学习使用ExpressJS 4.0中的新Router
  • 移动端唤起键盘时取消position:fixed定位
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • 云大使推广中的常见热门问题
  • 智能合约Solidity教程-事件和日志(一)
  • 1.Ext JS 建立web开发工程
  • ​业务双活的数据切换思路设计(下)
  • (+4)2.2UML建模图
  • (LeetCode 49)Anagrams
  • (pytorch进阶之路)扩散概率模型
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (附源码)springboot金融新闻信息服务系统 毕业设计651450
  • (离散数学)逻辑连接词
  • .NET 4 并行(多核)“.NET研究”编程系列之二 从Task开始
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .NET Micro Framework 4.2 beta 源码探析
  • .NET 药厂业务系统 CPU爆高分析
  • .NET中两种OCR方式对比
  • .pyc文件是什么?
  • //解决validator验证插件多个name相同只验证第一的问题
  • @Repository 注解