1. 程式人生 > >淺析指標陣列和陣列指標

淺析指標陣列和陣列指標

/************************************************************************/
/* 淺析指標陣列和陣列指標
	指標陣列:array of pointers
	陣列指標:a pointer to an array

	舉例說明
	int* a[4]     指標陣列

	表示:陣列a中的元素都為int型指標

	元素表示:*a[i]   *(a[i])是一樣的,因為[]優先順序高於*

	int (*a)[4]   陣列指標

	表示:指向陣列a的指標

	元素表示:(*a)[i]
*/
/************************************************************************/
#include <iostream>
#include <windows.h>

using namespace std;
int main()
{
	int c[4] = { 1,2,3,4 };

	int *a[4];// array of pointers
	int(*b)[4];//a pointer to an array
	
	// 1、 method base on array of pointers
	for(int i = 0;i < 4;i++)
	{
		a[i] = &(c[i]);
	}

	for(int i = 0;i < 4;i++)
	{
		cout << "*(a[i])"<< *(a[i]) << endl;
	}

	//2、method base on a pointer to an array
	b = &c;
	for(int i = 0;i<4;i++)
	{
		cout <<"(*b)[i]" << (*b)[i]<< endl;
	}
	system("pause");
	return 0;
}

參考連結

https://www.cnblogs.com/Romi/archive/2012/01/10/2317898.html