//一维数组int arr1[5] = { 1,2,3,4,5 };int(*arrP)[5] = &arr1;    //定义数组指针 必须用&arr1, arr1是数组首元素的地址;&arr1是代表数组地址虽然地址都一样但是当加1的时候就有区别了,说明还是代表的不同东西for (int i = 0; i < sizeof(arr1) / sizeof(arr1[0]); i++)  //当遍历数组是一个方法时不用写死(得到数组的行列数)
    {printf("arr1[%d]=%d\n", i, (*arrP)[i]);}printf("--------------------------------\n");//二维数组int arr2[3][5] = { {1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15} };arrP = arr2;  //数组指针指向二维数组for (int i = 0; i < sizeof(arr2) / sizeof(arr2[0]); i++)//当遍历数组是一个方法时不用写死(得到数组的行列数)
    {for (int j = 0; j < sizeof(arr2[0]) / sizeof(arr2[0][0]); j++){printf("int[%d][%d]=%d\n", i, j, (*(arrP + i))[j]);// printf("int[%d][%d]=%d\n", i, j, arr2[i][j]);
        }}printf("--------------------------------\n");//三维维数组int arr3[2][3][4] = {{{ 1 ,2 ,3 ,4 },{ 5 ,6 ,7 ,8 },{ 9 ,10 ,11 ,12 }},{{ 13 ,14 ,15 ,16 },{ 17 ,18 ,19 ,20 },{ 21 ,22 ,23 ,24 } }};int(*arrP2)[3][4] = arr3;//这个是第一次见到,是自己通过数组指针推倒出来的,我感觉它叫三维数组指针还是二维数组指针合适呢?//int(**arrP3)[4];    //这样写也正确但是不能把arr3地址付给它,这个我没从书上见过,是自己通过数组指针推倒出来的,这是数组二级指针?for (int i = 0; i < sizeof(arr3) / sizeof(arr3[0]); i++){for (int j = 0; j < sizeof(arr3[0]) / sizeof(arr3[0][0]); j++){for (int k = 0; k < sizeof(arr3[0][0]) / sizeof(arr3[0][0][0]); k++){//printf("int[%d][%d][%d]=%d\n",i,j,k,arr3[i][j][k]);printf("int[%d][%d][%d]=%d\n", i, j, k, (*(*(arrP2 + i) + j))[k]);}}}getchar();

指针和数组直接对应关系之如何记忆

转载于:https://www.cnblogs.com/zakers/p/6933609.html

数组指针——指向数组的指针(通过指针控制数组)相关推荐

  1. 【c语言】定义一个指针数组,指向5个不同的char型数组

    最近在准备复试的上机考试,顺便帮大一小孩做C语言作业. 其中有一道题目是将五个单词排序后输出 想到了利用<string.h>库函数中的strcmp,但是逐一比较只能找到最大值或最小值,没有 ...

  2. C和指针之指针数组和指向数组的指针

    1.指针数组 定义一个指针数组,该数组中每个元素是一个指针,每个指针指向哪里就需要程序中后续再定义 int *p[10]; 2.指向数组的指针 定义一个数组指针,该指针指向含10个元素的一维数组(数组 ...

  3. C语言指针的那些事:第三篇(函数指针,指针函数,函数指针数组,指向函数指针数组的指针)

    文章目录 1. 函数指针 1)函数指针的例题 2. 指针函数 3. 函数指针数组 1)函数指针数组的用途 4. 指向函数指针数组的指针 5. 一些后话 1. 函数指针 函数指针就是指向函数的指针:本质 ...

  4. C语言结构体中指针指向数组,指向结构体类型数组的指针的使用

    指向结构体类型数组的指针的使用 定义一个结构体类型数组,其数组名是数组的首地址,下面是关于指向结构体类型数组的指针的使用具体介绍,欢迎阅读! 定义结构体类型的指针,既可以指向数组的元素,也可以指向数组 ...

  5. C语言字符型数组ppt,C语言第13讲指针与字符串(字符数组).ppt

    C语言第13讲指针与字符串(字符数组).ppt 6.2.3 指针与字符串(字符数组) C语言用字符数组存放字符串. 字符数组元素个数确定,一般用下标控制循环. 字符串有效字符个数由0确定,用结束符0控 ...

  6. 【C语言】小妹不懂指针和数组的关系?那就安排指针数组关系详解

    目录 前言 一.什么是数组 二.什么是指针 三.指针变量的大小 四.数组和指针的关系 五.指针变量的自增自减运算 六.两个参数确定一个数组 七.字符型指针和字符型数组 总结 写在最后 前言 前段时间整 ...

  7. 让指针指向初始位置c语言,初始C语言中的指针(翁凯男神MOOC)

    运算符  & ●scanf("%d",&i); ●获得变量的地址,它的操作数必须是变量 ● int i; printf("%x",&i) ...

  8. 【C 语言】二级指针作为输入 ( 自定义二级指针内存 | 二级指针排序 | 通过 交换指针指向的内存数据 方式进行排序 )

    文章目录 一.二维指针 排序 ( 通过 交换指针指向的内存数据 方式进行排序 ) 二.完整代码示例 一.二维指针 排序 ( 通过 交换指针指向的内存数据 方式进行排序 ) 在上一篇博客 [C 语言]二 ...

  9. C++基类指针指向派生类(指针)

    我们常用基类指针指向派生类对象来实现多态性. 私有继承不允许基类指针指向派生类 基类指针只能访问到基类中含有的公有成员. 当用基类指针指向派生类对象在动态分配堆上内存的时候,析构函数必须是虚函数! 成 ...

  10. 【C 语言】多级指针 ( 在函数中生成 二级指针 | 通过传入的 三级指针 进行间接赋值 )

    文章目录 前言 一.在函数中生成 二级指针 ( 通过传入的 三级指针 进行间接赋值 ) 二.完整代码示例 前言 如果要 通过 函数形参 间接赋值 修改 nnn 级指针, 需要向函数中传入 n+1n + ...

最新文章

  1. ti的硬件时钟和系统时钟同步
  2. 数据同步的终极解决方案,阿里巴巴开源的Canal框架当之无愧!!
  3. MLNLP顶会论文发表总榜:谷歌最狂,清北入前十,周明、张岳、刘挺华人前三...
  4. linux如何把nfs数据导出来,linux – NFS导出已经挂载NFS的目录(在服务器上)
  5. 释疑の采购订单的批量修改
  6. 网易2019实习生Java编程题
  7. HttpContext 来源(System.Web.HttpContext.Current值为null的问题)
  8. 爬取B站免费视频--python代码赶快拿
  9. 单应矩阵,基本矩阵,本质矩阵
  10. 用jQuery实现页面遮罩弹出框
  11. JavaScript函数的arguments(2)
  12. nosql数据库之Redis集群
  13. html a标签填写header,header中添加a标签,点击无反应
  14. Tcl/Tk的一些笔记
  15. 计算机毕业设计之java+ssm供应链管理信息系统
  16. 燃料电池多点恒功率工作Cruise仿真模型
  17. 前端项目中package.json到底是什么,又充当着什么作用呢?一文来带你了解package.json!
  18. [几何画板]正十七边形的做法
  19. 新手上路之第一次自驾游
  20. 2021年宣传部第一次ps培训总结

热门文章

  1. [BZOJ 1834] [ZJOI2010]network 网络扩容
  2. 一天一个类,一点也不累之HashSet
  3. Windows五种IO模型性能分析和Linux五种IO模型性能分析
  4. 实现pick和reigister
  5. Windows下源码获取
  6. 四色原型图进行业务建模的思考
  7. c#做端口转发程序支持正向连接和反向链接
  8. 为什么修改了ie级别里的activex控件为启用后,还是无法下载,显示还是ie级别设置太高?
  9. Web优化 --利用css sprites降低图片请求
  10. hiveql函数笔记(二)