首页 > 编程语言 >C++中指针理解

C++中指针理解

时间:2022-09-19 18:44:37浏览次数:110  
标签:java int age C++ 理解 User 指针

参考

正文

指针的使用就像 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.get);
// 输出 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

标签:java,int,age,C++,理解,User,指针
From: https://www.cnblogs.com/xiaqiuchu/p/16708649.html

相关文章

  • DeepHyperX代码理解-HamidaEtAl
    代码复现自论文《3-DDeepLearningApproachforRemoteSensingImageClassification》 先对部分基础知识做一些整理:一、局部连接与参数共享(都减少了参数计算量)......
  • C语言:一维数组 二维数组指针
    #include<stdio.h>//一维数组二维数组的指针main(){inta[2][3]={{1,2,3},{4,5,6}};intb[]={10,20,30,40,50,60};int*p,*p1,i;p1=b;//一维......
  • T1022: 整型与布尔型的转换(信息学一本通C++)
    [题目描述]将一个整型变量的值赋给一个布尔型变量,再将这个布尔型变量的值赋给一个整型变量,得到的值是多少?[输入]一个整型范围内的整数,即初始时整型变量的值。[输出]一......
  • T1021: 打印字符(信息学一本通C++)
    [题目描述]输入一个整数,即字符的ASCII码,保证存在对应的可见字符。输出相对应的字符。[输入]一个整数,即字符的ASCII码,保证存在对应的可见字符。[输出]一行,包含相应的字......
  • T1023: Hello,World!的大小(信息学一本通C++)
    [题目描述]我们曾经输出过的“Hello,World!”吗?它虽然不是本章所涉及的基本数据类型的数据,但我们同样可以用sizeof函数获得它所占用的空间大小。[输入](无)[输出]一......
  • T1003: 对齐输出(信息学一本通C++)
    [题目描述]读入三个整数,按每个整数占8个字符的宽度,右对齐输出它们,按照格式要求依次输出三个整数,之间以一个空格分开。[输入]只有一行,按照格式要求依次输出三个整数,之间......
  • T1006: A+B问题(信息学一本通C++)
    [题目描述]求两个整数的和。[输入]只有一行,两个用空格隔开的整数。[输出]两个整数的和。[输入样例]12[输出样例]3 #include<iostream>usingnamespacestd......
  • T1005: 地球人口承载力估计(信息学一本通C++)
    [题目描述]假设地球上的新生资源按恒定速度增长。照此测算,地球上现有资源加上新生资源可供x亿人生活a年,或供y亿人生活b年。为了能够实现可持续发展,避免资源枯竭,地球最多......
  • T1008: 计算(a+b)/c的值(信息学一本通C++)
    [题目描述]给定3个整数a、b、c,计算表达式(a+b)/c的的值。[输入]只有一行,包括三个整数a、b、c,数与数之间以一个空格分开。(-10,000<a,b,c<10,000)[输出]只有一行,即表......
  • T1007: 计算(a+b)*c的值(信息学一本通C++)
    [题目描述]给定3个整数a、b、c,计算表达式(a+b)*c的值。[输入]只有一行,包括三个整数a、b、c,数与数之间以一个空格分开。(-10,000<a,b,c<10,000)[输出]只有一行,即表达......