admin 管理员组

文章数量: 887021

一、二维数组中的a,a+1,a,a+1解析


一维数组:


int a[3] = { 1,2,4 };printf("a(数组首地址)=%d\n", a);	printf("a+1(第2个元素地址)=%d\n\n", a + 1);printf("&a(整个数组的地址)=%d\n", &a);printf("&a+1(跨越了整个数组,指向最后一个元素的下一地址)=%d\n", &a + 1);printf("\n&a[2](最后一个元素)=%d\n", &a[2]);
//注意:在一维数组中,a表示数组首地址(首元素地址),所以a + 1就是下一元素地址;//&a也是数组首地址,但是其意义完全不一样,可以这样进行理解:是取整个数组的地址,那么&a+1就是一次移动一个数组!


二维数组:


int a[2][3] = { 1,2,4,5,6,8 };printf("a(0行首地址)=%d\n", a);printf("a+1(1行首地址)=%d\n\n", a + 1);printf("&a(整个数组的地址)=%d\n", &a);printf("&a+1(跨越了整个数组,指向最后一个元素的下一地址)=%d\n", &a + 1);printf("\n&a[1][2]=%d\n", &a[1][2]);
//注意:在二维数组中,a表示数组0行首地址,所以a + 1就是1行首地址;
//&a也是数组0行首地址,但是其意义完全不一样,可以这样进行理解:是取整个数组的地址,那么&a+1就是一次移动一个数组!

}

本文标签: 一二维数组中的a A1 A a1解析