1. 程式人生 > >【小練習】指標與引用:傳遞動態記憶體3

【小練習】指標與引用:傳遞動態記憶體3

1.練習程式碼

#include "stdafx.h"
#include <iostream>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	int a[3];
	a[0] = 0;
	a[1] = 1;
	a[2] = 2;
	int *p, *q;
	p = a;
	q = &a[2];
	cout << a[q - p] << '\n';
	return 0;
}

2.關鍵點分析

2.1轉換過程

#include "stdafx.h"
#include <iostream>
using namespace std; int _tmain(int argc, _TCHAR* argv[]) { int a[3]; a[0] = 0; a[1] = 1; a[2] = 2; int *p, *q; p = a; //a[0]的地址 q = &a[2]; //a[2]的地址 cout << a[q - p] << '\n'; //a[0]的地址與a[2]的地址距離為2,相減值為2,所以a[2]等於2 return 0; }

2.2執行結果

指標與引用1