c语言用指针引用二维数组元素,用指针引用二维数组元素 C语言 指针引用二维数组 为什么...

导航:网站首页 >

用指针引用二维数组元素 C语言 指针引用二维数组 为什么

用指针引用二维数组元素 C语言 指针引用二维数组 为什么

相关问题:

匿名网友:

a 是数组首地址,等于 &a[0][0].

*p 声明里是指针。语句里 *p 是 指针指向的值。 语句里 p 是地址.

*p 是1个星号的指针,可以让它指向1维数组,也可以让有序地它指向2维数的各元素。

int a[行][列]; a[j][i] 数组元素排列 是:

第一行 的 第1列,第二列,第三列....

第二行 的 第1列,第二列,第三列....

第三行 的 第1列,第二列,第三列....

2维数可以看成1维数组,排成1字长蛇阵:第一行 的 第1列,第二列,第三列..;

第二行 的 第1列,第二列,第三列....;。。。。直到最后一行最后一列。

#define row 3

#define col 4

int a[row][col]; // 某一元素: a[j][i]

int *p,i,j;

排成1字长蛇阵后,一维下标,可以用二维 下标计算: j*col + i.

某一元素: a[j][i] 的 数值 就是 * (p+j*col+i);

----

写出完整程序,依次输出所有元素,对比:

#include

main()

{

#define row 3

#define col 4

int a[row][col] = { 0,1,2,3,4,5,6,7,8,9,10,11};

int *p;

int i,j;

p=&a[0][0];

for (j=0;j

for (i=0;i

printf("\n");

}

printf("===========\n");

for (j=0;j

for (i=0;i

printf("\n");

}

return 0;

}

======

如果 是 int **p; 才有 *(*(p+i)+j))形式。

对应 a[j][i], 指向的值 是 *(*(p+j) + i)

匿名网友:

1.用指针引用二维数组元素

问:int a[][],*p; 如何用指针引用a[][]? p与a的区别是什么?(如:*(*...

2.C语言 指针引用二维数组 为什么

问:二维数组在内存里面也是线性排列的,为什么直接int *p=a;(a为一个二维...

3.C语言调用二维数组元素时,能否用指针指向其中同一...

答:指针的值一次只能指向一个地址,不能同时访问多个地址,但是可以通过指针的移位来依次访问二维数组同一行的多个元素。例如:*(*(arry+0) + 1)可以访问二维数组arry的第0行,第1列的元素

4.用指针 调用二维数组里的元素 所用两个* 表示的意义

问:我想问一下 用指针 调用二维数组里的元素 所用两个* 表示的意义 像:*(*...

5.c语言二维数组用指针表示的问题

问:#include void main() { int a[3][4]={1,3,5,7,9,11,13,15,17...

6.C语言怎么用指针代替二维数组

答:看你具体的应用,提供几个方法供参考: 1、一级指针 例: int a[M][N]; int *p = &a[0][0]; 相当于将二维数组当一维数组用,需要自己根据N的大小计算下标,使用却很灵活 2、指针数组 例: int a[M][N]; int *p[M]; for(int i=0; i

7.求C语言高手指点:请问如何指针定义二维数组?? ...

问:这几种方法逻辑上都好理解,但我就是在具体表达上面有很大问题,求高手...

8.C语言 怎么用指针输出一个二维数组的全部值

答:C语言的数组(不管多少维)在内存中都是线性储存的。所以用一级指针加偏移就可以访问所有元素。 举个例子,有一个10*10的二维数组a,这样就可以输出: int a[10][10];int *p = (int *)a;int i;for (i = 0; i < 10 * 10; i++)printf(%d, *(p + ...

9.如何让指针指向二维数组?

问:还有要怎么利用指针去引用二维数组中的元素

10.假如我想用指向二维数组的指针来输入几串字符串,然...

答:下面的例子告诉你想知道的问题: main() { char a[5][50]; char (*p)[30];//声明指向二维数组的指针 int i; p=a; for(i=1;i

问题推荐

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值