二维数组指针的使用

# include <stdio.h>

int main(void)
{
	int a[3][4] = {{0, 1, 2, 3},
				   {4, 5, 6, 7},
				   {8, 9, 10, 11}};
	printf("%0x\n", a);
	printf("%0x\n", a+1);
	printf("%0x\n", a+2);
	printf("\n");
	
	printf("%0x\n", *a);
	printf("%0x\n", *(a+1));
	printf("%0x\n", *(a+2));
	printf("\n");
	
	printf("%0x\n", a[0]);
	printf("%0x\n", a[1]);
	printf("%0x\n", a[2]);
	printf("\n");
	
	printf("%0x\n", &a[0]);
	printf("%0x\n", &a[1]);
	printf("%0x\n", &a[2]);
	printf("\n");
	
	printf("%0x\n", &a[0][0]);
	printf("%0x\n", &a[1][0]);
	printf("%0x\n", &a[2][0]);
	printf("\n");
	
	printf("%0x\n", *a+1);
	printf("%0x\n", *a+2);
	printf("%0x\n", *a+3);
	printf("\n");
	
	printf("%0x\n", *(a+1)+1);
	printf("%0x\n", *(a+1)+2);
	printf("%0x\n", *(a+1)+3);
	printf("\n");
	
	printf("%0x\n", *(a+2)+1);
	printf("%0x\n", *(a+2)+2);
	printf("%0x\n", *(a+2)+3);
	printf("\n");
	
	printf("%0x\n", a[0]+1);
	printf("%0x\n", a[0]+2);
	printf("%0x\n", a[0]+3);
	printf("\n");
		
	printf("%0x\n", a[1]+1);
	printf("%0x\n", a[1]+2);
	printf("%0x\n", a[1]+3);
	printf("\n");
	
	printf("%0x\n", a[2]+1);
	printf("%0x\n", a[2]+2);
	printf("%0x\n", a[2]+3);
	printf("\n");
	
	printf("%0x\n", &a[0][1]);
	printf("%0x\n", &a[0][2]);
	printf("%0x\n", &a[0][3]);
	printf("\n");
	
	return 0;
}
/*
 * a,a+1,a+2  a[0],a[1],a[2]  *a,*(a+1),*(a+2)
 * &a[0],&a[1],&a[2]  &a[0][0],&a[1][0],&a[2][0]
 *  表示的都是每一行元素的首地址
 * *a+1,*a+2,*a+3  *(a+1)+1,*(a+1)+2,*(a+1)+3  *(a+2)+1,*(a+2)+2,*(a+2)+3
 * a[0]+1,a[0]+2, a[0]+3  a[1]+1,a[1]+2,a[1]+3  a[2]+1,a[2]+2,a[2]+3
 * 表示的是首元素之后的几个元素的地址 
 * 
 * 
 */

运行结果:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值