首页 > 代码库 > 指针与引用

指针与引用

引用类型:

         引用指变量的别名

基本的引用:

 1 #include <iostream>
 2 using namespace std;
 3 int main() {
 4     int a = 3;
 5     int &b = a;
 6 
 7     b = 10;
 8     cout << a << endl;
 9     return 0;
10 }

b作为a的引用,当对b进行赋值时a的值也随之改变。

结构体的引用:

 1 #include <iostream>
 2 using namespace std;
 3 typedef struct {
 4     int x;
 5     int y;
 6 }Coor;
 7 int main() {
 8     Coor c1;
 9     Coor &c = c1;
10     c.x = 10;
11     c.y = 20;
12     cout << c1.x << c1.y << endl;
13     return 0;
14 }

对c1的引用c的结构成员赋值,即使对c1赋值

指针类型的引用:

类型*&引用指针别名 = 指针;

 1 #include <iostream>
 2 using namespace std;
 3 int main() {
 4     int a = 10;
 5     int *p = &a;
 6     int *&q = p;
 7     *q = 20;
 8     cout << a << endl;
 9     return 0;
10 }

引用做函数参数:

    使用指针对主函数的变量赋值的函数

 1 #include <iostream>
 2 using namespace std;
 3 void fun(int *a, int *b) {
 4     int c = 0;
 5     c = *a;
 6     *a = *b;
 7     *b = c;
 8 }
 9 int main() {
10     int x = 10, y = 20;
11     fun(&x, &y);
12     return 0;
13 }

    使用引用对主函数的变量赋值的函数

 1 #include <iostream>
 2 using namespace std;
 3 void fun(int &a, int &b) {
 4     int c = 0;
 5     c = a;
 6     a = b;
 7     b = c;
 8 }
 9 int main() {
10     int x = 10, y = 20;
11     fun(x, y);
12     return 0;
13 }

 

        

指针与引用