有趣的範例 (二)指標建立二維動態陣列

分享一個以指標建立二維動態陣列,並且初始化陣列中的內容從0到99。

本文以C++實作執行

實作程式碼如下:

#include <iostream>
using namespace std;
#define MAX 10
void initial(int **, int);

int main()
{
	int **array;
	array = new int*[MAX];
	initial(array, MAX);

	for (int i = 0; i<MAX; i++)
	{
		for (int j = 0; j<MAX; j++)
		{
			cout << **array<<" ";
			*array = *array + 1;
		}
		cout << endl;
		*array = *array - 10;
		array = array + 1;
	}

	array = array - 10;
	system("pause");
	return 0;
}


void initial(int** ptr, int length)
{
	for (int i = 0; i < length; i++)
	{
		*(ptr + i) = new int[MAX];
	}

	for (int i = 0; i < length; i++)
	{
		for (int j = 0; j < length; j++)
		{
			**ptr = MAX*i + j;
			*ptr = *ptr + 1;
		}
		*ptr = *ptr - length;
		ptr = ptr + 1;
	}
	ptr -= length;
}

執行結果如下:

有夢最美 築夢踏實

活在當下 認真過每一天

我是阿夢 也是Ace