首页 > 其他分享 >C语言二维数组的地址问题

C语言二维数组的地址问题

时间:2022-11-01 21:07:40浏览次数:50  
标签:+% ++ C语言 int 二维 数组 printf 如下


先上运行结果(如下图):

(注:图中输出a[0]+2是为测试数组的线性存储方式。)

C语言二维数组的地址问题_c语言


测试代码如下:

#include<stdio.h>

int main(){
int a[3][2];
int i, j;

for(i = 0; i < 3; i++){
for(j = 0; j < 2; j++){
printf("请输入a[%d][%d]:",i, j);
scanf("%d", &a[i][j]);
}
}

for(i = 0; i < 3; i++){
for(j = 0; j < 2; j++){
printf("a[%d][%d] = %d\t",i, j, a[i][j]);
}
printf("\n");
}

printf("\n");

printf("a为: %d\n", a);

printf("\n");

for(i = 0; i < 3; i++){
printf("a+%d为: %d\t\t", i, a+i);
}
printf("\n\n");

for(i = 0; i < 3; i++){
printf("a[%d]为: %d\t\t", i, a[i]);
}
printf("\n\n");

for(i = 0; i < 3; i++){
printf("a[0]+%d为: %d\t", i, a[0]+i);
}
printf("\n\n");

for(i = 0; i < 3; i++){
printf("&a[%d]为: %d\t", i, &a[i]);
}
printf("\n\n");

for(i = 0; i < 3; i++){
printf("&a[0]+%d为: %d\t", i, &a[0]+i);
}
printf("\n\n");

for(i = 0; i < 3; i++){
for(j = 0; j < 2; j++){
printf("&a[%d][%d]为:%d\t",i, j, &a[i][j]);
}
printf("\n");
}

printf("\n");

for(i = 0; i < 3; i++){
printf("**&a[%d]为: %d\t", i, **&a[i]);
}
printf("\n\n");

}


标签:+%,++,C语言,int,二维,数组,printf,如下
From: https://blog.51cto.com/u_15856491/5814996

相关文章