C++ Primer 练习 2.18

C++ 练习 2.18

题目要求:

  • 编写代码分别更改指针的值以及指针所指对象的值
/*
 *	题目要求:
 *	编写代码分别更改指针的值以及指针所指对象的值
 */

#include<iostream>
int main()
{
	// 创建两个变量并分别初始化为 42, 55
	int i { 42 }, j { 55 };

	// 创建指向存放变量 i 的存储空间的地址值
	int *p = &i ;

	// 输出 由符号 * 得到 p 所指的对象 i ,即输出 i 的值
	std::cout << *p << " " << p << std::endl; // 42  存放变量 i 的存储空间的地址值

	// 更改指针 p 使其指向 存放变量 j 的存储空间的地址值
	p = &j ;

	// 输出 由符号 * 得到 p 所指的对象 j ,即输出 j 的值
	std::cout << *p << " " << p << std::endl; // 55  存放变量 j 的存储空间的地址值

	// 使用 * 符号给指针赋值,实际上也就是给指针所指向的内存空间里所存放的值 j 赋值
	*p = 20; // 等同于 j = 20;

	// 输出 由符号 * 得到 p 所指的对象 j ,即输出 j 的值
	std::cout << *p << " " << p << std::endl; // 20  存放变量 j 的存储空间的地址值( 同上)

	// 直接更改变量 j 的值然后输出
	j = 30;
	std::cout << *p << " " << p << std::endl; // 30 存放变量 j 的存储空间的地址值( 同上)
	return 0;
}

注意,更改变量值后,地址值并不会改变。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值