一维及多维动态数组初始化及遍历

#include <stdio.h>
#include <stdlib.h>

void  show1()
{
	int *p = malloc(sizeof(int)* 10);
	printf("%p", p);
	for (int i = 0; i < 10;i++)
	{
		printf("\n%9d", p[i] = i);
	}
	free(p);
}

void show2()
{
	int **pp = malloc(sizeof(int*)* 10);
	printf("%p\n", pp);
	for (int i = 0; i < 10;i++)
	{
		pp[i] = malloc(sizeof(int)* 10);
		printf("%16p\n%16s", pp[i],"");
		for (int j = 0; j < 10;j++)
		{
			printf("%4d", pp[i][j] = i * 10 + j);
		}
		printf("\n");
	}
}
void show3()
{
	int ***ppp = malloc(sizeof(int**)* 10);
	printf("%p\n", ppp);
	for (int i = 0; i < 10; i++)
	{
		ppp[i] = malloc(sizeof(int*)* 10);
		printf("%16p\n", ppp[i]);
		for (int j = 0; j < 10; j++)
		{
			ppp[i][j] = malloc(sizeof(int)* 10);
			printf("%24p\n%24s", ppp[i][j],"");
			for (int k = 0; k < 10;k++)
			{
				printf("%4d", ppp[i][j][k] = i * 100 + j*10+k);
			}
			printf("\n");
		}
		printf("\n");
	}
}

void main()
{

	show3();
	system("pause");
}
posted @ 2016-11-20 13:32  呉语伦比  阅读(245)  评论(0)    收藏  举报