#include<iostream>
using namespace std;
int main(void)
{
int j=3,l=4;
int* p = new int(10);//new一个常量
cout <<"输出p "<< p << endl;//输出的是10的地址
cout << "输出*p " << *p << endl;//解引用,输出的是常量10
/*--------------------------------------------------------------------*/
int* k = new int [3];//new一个数组(不可以有数组名)
cout << "输出k " << k << endl;//输出的是k的首地址
k[0] = 1;
cout << "输出*k " << *k << endl;//输出的是k的值
/*------------------------------------------------------------------------*/
int** a = new int* [3];//new一个指针数组(不可以有数组名)
cout << "输出a " << a << endl;//输出a的首地址
a[0] =&j;//给指针数组成员赋值
cout << "输出*a " << *a << endl;//解引用:输出的是a[0]中的内容,因为是指针数组,输出的也是一个地址
cout << "输出**a " << **a << endl;//解引用的引用:对a[0]中的内容进行解引用,输出的是常量3;
int* b = &l;
a[1] = b;//指针可以给指针赋值,因为指针函数里的成员都是指针;
cout << "输出a中第二个成员的解引用 " << **(a + 1) << endl;解引用的引用:对a[1]中的内容进行解引用,输出的是常量4;
delete[] a;
delete[] k;
delete p;
system("pause");
return 0;
}
注:我是初学者,这段代码初学者看会有帮助,熟练的大神就当加深一下记忆。