在C++中,&是一个重要的运算符,其含义是“取地址”,它可以用来获取变量的内存地址。它的使用方法是:在变量前面加上&符号,如&a,其中a为变量名,则表示取变量a的地址。
取地址的应用
取地址运算符的应用有很多,主要有以下几种:
- 1、可以用它来获取指针变量的地址,如&p,其中p为指针变量,则表示取指针变量p的地址。
- 2、可以用它来获取函数的地址,如&func,其中func为函数名,则表示取函数func的地址。
- 3、可以用它来实现变量的引用,如int&a=b,其中a为引用变量,b为被引用变量,则表示a是b的引用变量,a和b指向同一块内存空间。
- 4、可以用它来实现函数的指针调用,如int (*p)(int,int)=&max,其中p为函数指针,max为函数名,则表示p指向max函数,可以通过p来调用max函数。
实例
#includeusing namespace std; int main() { int a = 10; int b = 20; int c = 30; //取a的地址 int *p1 = &a; cout << "a的地址是:" << p1 << endl; //取b的地址 int *p2 = &b; cout << "b的地址是:" << p2 << endl; //取c的地址 int *p3 = &c; cout << "c的地址是:" << p3 << endl; return 0; }
以上程序输出结果为:
a的地址是:0x7ffc7fbfb1e4 b的地址是:0x7ffc7fbfb1e8 c的地址是:0x7ffc7fbfb1ec
可以看到,变量a、b、c的地址都是通过取地址运算符&获取的。