二维数组的使用分析及案例

#include <stdio.h>
#include <iostream>

using namespace std;

//a->a[i] 可以使用*(a+i)  取内容 内容是一块连续的内存
//a ->a[i][j] 可以使用 *(*(a+i)+j)   连续的内存可以++操作
//a[i]->a 可以使用&a[i]


int main()
{
	 int a[2][3] = { 1,2,3,4,5,6 };

	for (int i = 1; i>=0; i--)
	{
		for (int j = 2;  j >= 0; j--)
		{
			printf("a[%d][%d] = %#x\n",i,j,&a[i][j]);
		}
		printf("==========================\n");
	}
	printf("----------------------");

	for (int i = 1; i >= 0; i--)
	{
		printf("a[%d] %#x\n",i, *(a + i));
		for (int j = 2; j >= 0; j--)
		{
			printf("a[%d][%d] = %#x\n", i, j, *(a + i) + j); //取地址
			printf("a[%d][%d] = %d\n",i,j, *(*(a + i)+j));   //取内容
		}
		printf("==========================\n");
	}

	printf(" %#x\n", &a[1]);

	system("pause");
	return 0;
}
发布了43 篇原创文章 · 获赞 1 · 访问量 2326

猜你喜欢

转载自blog.csdn.net/lpl312905509/article/details/95905106
今日推荐