下面总结了一下通过指针访问二维数组的三种方法,里边涉及指针、指针数组、数组指针、指向指针的指针以及二维数组的应用,愿对于大家理解和使用指针有所参考和帮助。

程序如下:

#include <stdio.h>int main()
{int i, j;int score[3][4] = {{65,67,70,60},{80,87,90,81},{90,99,100,98}};//第一种方法,二维数组当成一维数组来访问int *p;printf("方法1,二维数组当成一维数组来访问:\n");//换行p = score[0];//或者&score[0][0],都可以。for(i = 0; i < 3 * 4; i++)printf("%4d,", *(p + i));printf("\n");//换行//第二种方法,通过数组指针来访问int (*pr)[4];//数组指针printf("\n方法2,通过数组指针来访问:\n");//换行pr = score;for(i = 0; i < 3; i++){for(j = 0; j < 4; j++)printf("%4d,", *(*(pr + i) + j));printf("\n");//换行}//第三种方法,通过指向指针的指针+指针数组来访问int **pt;//指向指针的指针int *ptt[3];//指针数组printf("\n方法3,通过指向指针的指针+指针数组来访问:\n");//换行for(i = 0; i < 3; i++)ptt[i] = score[i];//给指针数组赋值pt = ptt;//需要通过指针数组来转换一下for(i = 0; i < 3; i++){for(j = 0; j < 4; j++)printf("%4d,", *(*(pt + i) + j));printf("\n");//换行}
}

具体就不再解释了,注释已经写得比较明白了。程序在Code::Blocks下编译通过,运行结果如下:

通过指针访问二维数组的三种方法相关推荐

  1. 用malloc动态申请一个二维数组的三种方法

    方法一:利用二级指针申请一个二维数组. #include<stdio.h> #include<stdlib.h> int main() { int **a; //用二级指针动态 ...

  2. 打印二维数组的三种方法

    方法一:常规法 老老实实传二维数组. void print1(int arr[3][5], int row, int col) {int i = 0;int j = 0;for (i = 0; i & ...

  3. 用new创建一个二维数组,有两种方法,是等价的

    //用new创建一个二维数组,有两种方法,是等价的      一:      int   (*p)[10]   =   new   int[5][10];      二:      int   **p ...

  4. PHP开发日志 ━━ php、javascript生成二维码的三种方法

    最简单最实例的goolge开源方法 推荐手册:php完全自学手册 1.google开放api 代码如下: $urlToEncode="http://www.helloweba.com&quo ...

  5. 用malloc开辟二维数组的三种办法

    第一种办法:用指针数组:首先看一下原理图(以开辟整型二维数组三行四列为例,以下都是): 先看一下用malloc申请一维数组: int *p=(int *)malloc(10*sizeof(int)); ...

  6. new二维数组的几种方法

    (1)可以直接[][]访问.但是内存不连续,不是很推荐使用,除非m\n都不确定 A** ga = new A*[m];//第一维,m为行数(数组[m]内存类型为A的指针) for(int i=0;i& ...

  7. malloc申请二维数组的四种方法

    方法一: 二级指针 #include<stdio.h> #include<stdlib.h> int main() {int i,j;int row = 4,col = 5;/ ...

  8. C++ 创建二维数组的几种方法

    一.用new申请内存空间 int **dp=new int*[n];//动态申请二维数组nxmfor(int i=0;i<n;++i){dp[i]=new int[m];} 二.用malloc申 ...

  9. 二维数组排序的三种方法

    #include <stdio.h> #define iline 2//行.fun3()中用 #define irow 8//列.fun3()中用 /******************* ...

最新文章

  1. 简述Linux目录结构和系统结构
  2. 项目发布后 Tomcat中只有web-INF文件夹
  3. linux内核更新 2.6.38,Linux内核 2.6.38版本预计到四月初完成
  4. Python_urllib
  5. 光谱共焦传感器应用于哪些领域
  6. 程序员需要了解英国文学
  7. 金三角图形c语言,升哥学堂 | 实战均线形态——“金三角”
  8. 【基于Python的Selenium2自动化测试】04 - 模拟126邮箱的登录
  9. 小手一敲,让JS Map现原形
  10. 《Computer Graphics C Version》(Donald Hearn著)总结 第五章(第一部分)
  11. 裸眼3D LED显示屏,是未来趋势还是行业自嗨?
  12. 刘慈欣 计算机工程师,刘慈欣:《三体》之外,我只是个普通的工程师
  13. 使用微信推送报警消息及api
  14. 会比Kubernetes和无服务器更有前途的是Istio
  15. 看了必懂的并查集原理(转载)
  16. (Java-1)计算1000以内所有不能被7整除的数之和
  17. c语言编程高阶证书考试,c语言二级考试
  18. 计算机一级考试题库字处理题库,计算机一级考试题库操作题
  19. 物流与供应链管理一样吗?
  20. 追踪算法ASMS体验

热门文章

  1. linux自动wifi断开重连,49.Linux-wpa_cli使用之WIFI开启,扫描热点,连接热点,断开热点,WIFI关闭(49)...
  2. exadata的infiniband交换机的ilom
  3. 开课通知 | 《AISHELL-3语音合成实战》课程
  4. 计算机二级java邓伦单_全国计算机等级考试计算机基础及Photoshop应用试题答案(2)...
  5. 对RAM,ROM,NOR/NAND FLASH等常见内存设备类型的理解
  6. 常用Linux版本虚拟机的使用比较
  7. MLY翻译 -- 4.Scale drivers machine learning progress
  8. 微软强调Win8.1 Update照顾惯用键鼠用户
  9. 利用 Matlab Simulink 平台搭建双馈风力发电机在电网中的模型
  10. 路由器购买指南,和网络不稳定、断网说拜拜