c语言==一维数组与二维数组的详解(9)
2016-07-18 21:00
399 查看
一维数组
&a:对一维数组名,取地址,等于数组的地址
*(&a) = a:对一维数组的地址,取值,等于数组首元素的地址
数组的地址保存在数组指针里,以下是对数组指针的声明,定义以及赋值
int i; int a[5]; int (*p)[5] = NULL; P = &a; //指向整个数组的地址 //以下是通过这个指针,对数组a进行的输入和输出 for(i = 0; i < 5; i++) { //scanf("%d" , &((*p)[i])); scanf("%d" , *p + i) } for(i = 0; i < 5; i++) { //printf("%d\t" , (*p)[i]); printf("%d\t" , *(*p + i)); } //两种方法都可以
[] == *();
所以,src[i] = * (src + i);
二维数组
一维数组名:是指针常量,是数组首元素的地址二维数组名:是首个一维数组的地址
二维数组通常可以省略行数,而不可以省略列数,因为省略了列数就不可以唯一确定一个数组了。
a + i:第i+1个一维数组的地址
*(a + i):第i+1个一维数组首元素的地址
*(a+i)+j:第i+1个一维数组的第j+1个元素的地址
*(&a) = a:对二维数组的地址取值,就是首个一维数组的地址
三维数组
a+i:第i+1个二维数组的地址*(a+i):第i+1个二维数组的首元素的地址
*(a+i)+j:第i+1个数组的第j+1个一维数组的地址
* ( *(a+i)+j):第i+1个数组的第j+1个一维数组的首元素的地址
(* ( *(a+i)+j))+k:第i+1个数组的第j+1个一维数组的第k+1个元素的地址
相关文章推荐
- Lua中使用二维数组实例
- C#使用二维数组模拟斗地主
- C#二维数组基本用法实例
- javascript的日期对象、数组对象、二维数组使用说明
- PHP 如何获取二维数组中某个key的集合
- 改写函数实现PHP二维/三维数组转字符串
- java 二维数组矩阵乘法的实现方法
- Swift中定义二维数组的方法及遍历方法示例
- 举例理解C语言二维数组的指针指向问题
- C#和Java中二维数组区别分析
- js中一维数组和二位数组中的几个问题示例说明
- php去除二维数组的重复项方法
- php对二维数组进行相关操作(排序、转换、去空白等)
- php将一维数组转换为每3个连续值组成的二维数组
- PHP中使用foreach()遍历二维数组的简单实例
- php对二维数组按指定键值key排序示例代码
- PHP按指定键值对二维数组进行排序的方法
- js一维数组、多维数组和对象的混合使用方法
- PHP将二维数组某一个字段相同的数组合并起来的方法
- Java数组冒泡排序与二维数组