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运行结果

【小练习】指针与引用:传递动态内存3

相关文章:

  • 2022-12-23
  • 2021-06-29
  • 2021-08-06
  • 2022-12-23
  • 2019-10-19
猜你喜欢
  • 2021-10-23
  • 2021-10-09
  • 2022-12-23
  • 2022-12-23
  • 2021-05-23
  • 2021-11-09
相关资源
相似解决方案