1.设p是指向二维数组a[m][n]的指针变量,则有:int*p=a[0];//此时P是指向一维数组的指针。P++后,p指向a[0][1]。2.如果定义int(*p1)[n];p1=a;p1++后,p1指向a[1][0];则p+j将指向a[0]数组中的元素a[0][j]。由于a[0]、a[1]┅a[M-1]等各个行数组依次连续存储,则对于a数组中的任一元素a[i][j],指针的一般形式如下:p+i*N+j, 相应的如果用p1来表示,则为*(p1+i)+j。元素a[i][j]相应的指针表示为:*(p+i*N+j) ,相应的如果用p1来表示,则为*(*(p1+i)+j)。同样,a[i][j]也可使用指针下标法表示,如p[i*N+j]。若有:int*p=a[0];则数组a的元素a[1][2]对应的指针为:p+1*4+2元素a[1][2]也就可以表示为:*(p+1*4+2)用下标表示法,a[1][2]表示为:p[1*4+2]扩展资料:指针与数组的关系:1.指针数组:就是一个由指针组成的数组,那个数组的各个元素都是指针,指向某个内存地址。 char*p[10]; //p是一个指针数组2.数组指针:数组名本身就是一个指针,指向数组的首地址。注意这是一个常数。example:char(*p)[10]; //p是一个数组指针3.函数指针:本身是一个指针,指向一个函数入口地址,通过该指针可调用其指向的函数,使用函数指针可实现回调函数。参考资料:百度百科-指针

阅读全文 >

C语言指针怎么存二维数组,C语言怎么用指针代替二维数组相关推荐

  1. C语言基础知识之define宏定义表达式,undef,内存对齐,a和a的区别,数组知识点,int (*)[10] p,二维数组参数与二维指针参数,函数指针数组,常见的内存错误及对策

    一.用define宏定义表达式 1.定义一年有多少秒: #define SEC_A_YEAR 60*60*24*365 //上述描述不可靠,没有考虑到在16位系统下把这样一个数赋给整型变量的时候可能会 ...

  2. char二维数组_C语言指针与数组详解

    指针与数组 指针可以与变量结合,也可以与数组结合使用.指针数组和数组指针是两个截然不同的概念,指针数组是一种数组,该数组存放的是一组变量的地址.数组指针是一个指针,表示该指针是指向数组的指针. 1.指 ...

  3. 二维数组(解引用、指针数组、数组的指针)——C语言

    二维数组 在说二维数组前先来说下一维数组中的指针数组和和数组的指针 一.一维数组中指针数组和数组指针的区别 指针数组: 1 int *p[5]; []的优先级比*高,首先它是一个数组,它的大小是5,它 ...

  4. C语言中一维数组和二维数组的寻常遍历用指针的遍历

    前言 是突然想到的方法,可能早有大佬想过这样的方法,但我还是记录下来,路过的各位就当看个新鲜. 首先是寻常的遍历方法 一维数组 我们遍历一维数组,正常的方法是改变数组的下标依次打印遍历数组. 代码如下 ...

  5. 《零基础看得懂的C语言入门教程 》——(九)C语言二维数组与循环嵌套

    一.学习目标 了解二维数组的使用方法 了解循环嵌套的使用方法 目录 C语言真的很难吗?那是你没看这张图,化整为零轻松学习C语言. 第一篇:(一)脱离学习误区 第二篇:(二)C语言没那么难简单开发带你了 ...

  6. vector 二维数组_go语言基础教程——数组与切片

    今天是golang专题的第五篇,这一篇我们将会了解golang中的数组和切片的使用. 数组与切片 golang当中数组和C++中的定义类似,除了变量类型写在后面. 比如我们要声明一个长度为10的int ...

  7. c语言中定义字母二维数组,C语言中二维字符数组

    C语言中二维字符数组的定义和初始化 一般来说,我们可能会希望定义一个二维字符数组并且在定义的时候就用一些字符串来初始化它.比如说: Code: 1.char testcase[30][MAX_LENG ...

  8. c语言定二维义数组,C语言二维数组超细讲解

    用一维数组处理二维表格,实际是可行的,但是会很复杂,特别是遇到二维表格的输入.处理和输出. 在你绞尽脑汁的时候,二维数组(一维数组的大哥)像电视剧里救美的英雄一样显现在你的面前,初识数组的朋友们还等什 ...

  9. c语言动态生成二维数组,C语言 动态创建二维数组

    /*C语言 如何动态创建二维数组 转化为一维数组申请数组,创建和释放都比较简单 */ #include #include #include #define RANK 10 #define COLUMN ...

最新文章

  1. Mac MySQL配置环境变量的两种方法
  2. 最详细的JavaWeb开发基础之java环境搭建(Windows版)
  3. 使用STC8H1K28控制微型磁悬浮
  4. python opencv实时显示测量数据_python OpenCV 宽度测量
  5. android n等分 layout,RecyclerView GridLayoutManager 等分间距
  6. Guava事件处理组件Eventbus使用入门
  7. merge规则 python_用Python处理PDF
  8. 【VB.Net】泛型IIF
  9. ubuntu java apt-get_ubuntu apt-get 安装jdk7
  10. HTML CSS 个人网页设计 WEB前端大作业代码
  11. java在线电影_java在线高清
  12. opencv中的透射变换
  13. 深度学习中常见的打标签工具和数据集资源
  14. 软件测试需要掌握的技能
  15. 阿里一二三面、HR面面经-后台
  16. 结构-02. 有理数加法(15)
  17. 下一代 IDE 工具 JetBrains Fleet 正式公测
  18. 未来计算图鉴:十年后的计算长什么模样?
  19. cr3格式是什么意思_如何用PS导入佳能CR3格式图片?_科技数码通
  20. 从事c++一年的感悟

热门文章

  1. Cannot resolve jakarta.validation:jakarta.validation-api:2.0.2
  2. 多多进宝推广团队_多多进宝推广形式及推手寻找、佣金结算方式是怎样的?
  3. python property作用_python中@property的作用和getter setter的解释
  4. 的环境下 qt 运行在_Ubuntu16.04环境下运行vins mono(环境配置及编译)之ROS kinetic的安装...
  5. error: ‘XXX‘ is defined but never used (no-unused-vars)报错的解决方案
  6. java replacefirst第n_Java中replace()、replaceFirst()和replaceAll()区别
  7. Windows平台Unity3d下如何同时播放多路RTSP或RTMP流
  8. 内网无纸化会议/智慧教室实时同屏RTSP组播技术方案思考
  9. Jersey中ContainerRequestFilter的使用
  10. springboot 使用 minio