C语言-- 二维数组变量指针取值的写法

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u011266694/article/details/52964593
#include <stdio.h>
//二维数组  指针取值的几种写法 
int main(int argc, const char *argv[])
{
	//声明一个二维数组并赋值 
	int a[3][4] = {{0,1,2,3},
				   {4,5,6,7},
				   {8,9,10,11}};
//1.a+1二维数组指针变量a向前移动一个单位,移动到二维数组的第二个元素{4,5,6,7}
//2. (*(a+1))取值获取一维数组第一个数的的地址  3.再[2]取值获取数组{4,5,6,7}的第三个元素 
	printf("a[1][2]     = %d\n",(*(a+1))[2]);
// 1.a[1]二维数组a向前移动一个单位取值 进入 {4,5,6,7},并取值,获取第一个元素的地址 : a[1] =  *(a+1)
// 2.*(a[1]+2) 然后一维数组向前移动2个单位 并*取值 
	printf("*(a[1]+2)   = %d\n",*(a[1]+2));
//同上 
	printf("*(*(a+1)+2) = %d\n",*(*(a+1)+2));
	return 0;
}

展开阅读全文

没有更多推荐了,返回首页