C++中指针理解

参考

正文

指针的使用就像 java 中对象的赋值使用一样,如 java 中:

class User{
	public int age;
	User(int age){
		this.age = age;
	}
}
// a 保存是当前创建的 User 对象的地址
User a = new User(18);
// b 保存是 a 的内存地址
User b = a;
// 修改 b 的 age,等同于修改 a.age , 因为他们都是指向 new User(18) 这个对象的地址
b.age = 22;
//
System.out.printf(a.age);
// 输出 22

在 C++ 中就如下:

//   int a = 10;
//   int b = 20;
//   b = a;
//   a = 20;
//   cout << a << b << endl;
//   2010

    int a = 10;
	// 声明指针
    int *b;
	// 将 a 的内存地址赋值给 指针 b
    b = &a;
    a = 20;
	// 修改 指针b 的值,也就是 a 的值
	// *b = 30;
	// 因为 指针b 是保存的 a 的内存地址,所以 *b (获取内存地址保存的值) 等于 a
    cout << a << *b << endl;
    // 2020
posted @ 2022-09-19 18:31  夏秋初  阅读(27)  评论(0编辑  收藏  举报