C语言网

 找回密码
 加入社区!

QQ登录

只需一步,快速开始

查看: 568|回复: 1

二维数组和指针 [复制链接]

Rank: 1

主题
0
帖子
4
C币
6 枚
在线时间
1 小时
发表于 2010-2-3 10:45:35 |显示全部楼层
a[i]从形式上看是a数组中的第i个元素。如果a是一维数组名,则a[i]代表a数组第i个元素所占的内存单元的内容。a[i]是有物理地址的,是占内存单元的。但如果a是二维数组,则a[i]是代表一维数组名。它只是一个地址(如同一维数组名只是一个指针常量一样。) a,a+i,a[i],*(a+i),*(a+i)+j,a[i]+j都是地址。 *(a[i]+j)和*(*(a+i)+j)是二维数组元素a[i][j]的值。
举例说明一下:
int a[3][4]={…………};
a,*a;  第0行首地址和0行0列元素地址
a[0],*(a+0); 第0行0列元素地址
&a[0],&a[0][0];第0行元素首地址和0行0列元素地址
a[1],a+1; 第1行0列元素地址和1行首地址
&a[1][0],*(a+1)+0; 1列0行元素地址
a[2],*(a+2);2行0列元素地址
&a[2],a+2;第2行元素首地址
a[1][0],*(*(a+1)+0);第1行0列元素的值。

Rank: 4

主题
9
帖子
160
C币
250 枚
在线时间
23 小时
发表于 2010-8-10 18:12:10 |显示全部楼层
不错,,还可以
想找个师傅。。。
您需要登录后才可以回帖 登录 | 加入社区!

C语言 ( 粤ICP备11042647号-2 )

GMT+8, 2012-2-7 22:23

©2009-2011 cyuyan.com.cn

回顶部