定义一个一维指针指向二维数组并打印
2016-03-07 22:24
288 查看
间接证明二维数组在物理上是线性存储的
#include <stdio.h> // 证明二维数组在物理上是线性存储的 // a[i][j] // a[0] = a+0; a[1] = a+1; a[i] = a+i ;a+i表示第i-1行的地址 // *a表示第一行第一列的地址, *a+1表示第一行第二列的地址 // 定义一个一维指针指向二维数组的时候, 要将其指向二维数组的第一行第一列的地址,也就是*(a+0)+0=*a // 但是不能定义成*a[0]+0 = *a[0]; 具体原因待在下再深入学习,下回合揭晓; int main(void) { char a[10][3] = {"aaa", "bbb", "ccc", "ddd"}; char *pa; int i = 0; pa = *a; // pa指向二维数组的第一行第一列; for (i=0; i<12; i++){ printf("%c\n", *(pa+i)); } return 0; }
相关文章推荐
- Lua中使用二维数组实例
- C#使用二维数组模拟斗地主
- C#二维数组基本用法实例
- javascript的日期对象、数组对象、二维数组使用说明
- PHP 如何获取二维数组中某个key的集合
- 改写函数实现PHP二维/三维数组转字符串
- java 二维数组矩阵乘法的实现方法
- Swift中定义二维数组的方法及遍历方法示例
- 举例理解C语言二维数组的指针指向问题
- C#和Java中二维数组区别分析
- php去除二维数组的重复项方法
- php对二维数组进行相关操作(排序、转换、去空白等)
- php对二维数组按指定键值key排序示例代码
- PHP按指定键值对二维数组进行排序的方法
- PHP将二维数组某一个字段相同的数组合并起来的方法
- js二维数组定义和初始化的三种方法总结
- C语言中二维数组指针的简要说明
- php实例分享之二维数组排序
- php中二维数组排序问题方法详解
- js sort 二维数组排序的用法小结