用指针引用二维数组元素
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/05/09 10:08:46
用指针引用二维数组元素
int a[][],*p;
如何用指针引用a[][]?
p与a的区别是什么?(如:*(*(a+i)+j)和*(*(p+i)+j))
int a[][],*p;
如何用指针引用a[][]?
p与a的区别是什么?(如:*(*(a+i)+j)和*(*(p+i)+j))
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
*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
用指针引用二维数组元素
C语言中指针引用二维数组元素问题
C语言用指针引用数组元素
用C语言在主函数中定义和初始化一个二维数组a[3][4]和一个指针数组,采用指针数组去访问数组元素a[2][4];
用C语言在主函数中定义和初始化一个二维数组a[3][4]和一个指针数组,采用指针数组去访问数组元素a[2][4]
C中 用指针表示一个二维数组中任意的元素 书上写是a【i】【j】=(*p+m*i+j) m是数组的第二维的维数
C语言、二维数组指针中的 * 和 &
指向二维数组的指针如何定义?
练习数组指针作为函数参数:求3×4的二维数组{1,3,5,7,9,11,13,17,19,21,23,25}中的所有元素
定义一个二维数组int m[3][3],用键盘为数组各元素赋值,并输出各元素
求二维数组对角线方向数组元素如何求和
C语言关于指针和二维数组的问题.