指针与自由存储空间(1)

指针定义

 

1.我们平时定义普通变量:

typename variable_name = variable_value;

语句申明了变量值得类型 变量名称 ,还让程序为值分配了内存

此处定义变量: 值是指定量 存储地址为派生量(指定一个要存储的值,分配一个自由空间用于存储这个值)

#include<iostream>

int main()
{
	using namespace std;
	// 定义一个简单的变量
	int var1 = 12;
	cout << var1 << endl;
	
	return 0;
} 

获取地址(使用地址运算符 &)

#include<iostream>

int main()
{
	using namespace std;
	// 定义简单的变量
	int var1 = 12;
	double var2 = 12.0;

	// 输出变量值与地址
	cout << "var1 value = " << var1;
	cout << "  var1 address = " << &var1 << endl;

	cout << "var2 value = " << var2;
	cout << "  var2 address = " << &var2 << endl;


	return 0;
} 

输出: 

 

 

2.指针

指针是一个特殊的变量,存储的值是地址,而不是值本身;

typename*  ptr_name = variable_address;

此处定义变量: 地址是指定量 值为派生量(指定一个要存储的值,分配一个自由空间用于存储这个值)

指针用于存储值的地址,所以指针名表示的是地址;用解除引用运算符(*) 来获得的该地址处的值。

#include<iostream>
#include<stdlib.h>

int main()
{
	using namespace std;
	int var1 = 12;	//定义简单变量
	int* ptr_var1 = &var1;	//定义指针

	// 输出简单变量值与地址
	cout << "var1 value = " << var1 << endl;
	cout << "var1 address = " << &var1 << endl << endl;

	// 输出var1的指针的值与指向地址存储的值
	cout << "ptr_var1 value = " << ptr_var1 << endl;
	cout << "*ptr_var1 value = " << *ptr_var1 << endl << endl;

	// 改变指针指向变量的值 输出结果
	*ptr_var1 = *ptr_var1 + 1;
	cout << "after change ptr_var1 value = " << ptr_var1 << endl;
	cout << "after change *ptr_var1 value = " << *ptr_var1 << endl << endl;

	system("pause");
	return 0;
}

结果:

示意图:

 

转载于:https://www.cnblogs.com/weew12/p/10583043.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值