C++入门笔记 指针

本文详细介绍了C++中的指针,包括指针的作用,如何通过指针间接访问内存,以及使用new操作符动态分配内存。还讨论了指针的释放、空指针和野指针的概念,强调了const修饰指针的两种情况。此外,还提到了指针算术及其限制,如指针加减和比较。
摘要由CSDN通过智能技术生成

指针

指针的作用: 可以通过指针间接访问内存

int update=6;
int* p_update;
p_update=&update;
//变量update表示值,可以用&来获得地址
//变量p_update表示地址,用*获取该地址的值

C++中创建指针时,只会创建用来存储地址的内存,而不会分配用来储存指针指向的数据的内存,所以下述不允许

long *fellow;
*fellow=2233;
//但是可以用new分配内存
int *pn=new int;

释放内存

delete*pn;

空指针和野指针
空指针:指针变量指向内存中编号为0的空间
野指针:指针变量指向非法的内存空间

const修饰指针

	//const修饰的是指针,指针指向可以改,指针指向的值不可以更改
	const int * p1 = &a; 
	p1 = &b; //正确
	*p1 = 100;//报错
	
	//const修饰的是常量,指针指向不可以改,指针指向的值可以更改
	int * const p2 = &a;
	p2 = &b; //错误
	*p2 = 100; //正确

    //const既修饰指针又修饰常量
	const int * const p3 = &a;
	p3 = &b; //错误
	*p3 = 100; //错误

指针算术
C++允许指针和正数加减,。加一的结果等于原来的地址加上指向对象占用的字节总数,减法同理。
允许两个指针相减,仅当两个指针指向同一个数组时有意义,得到两个元素的间隔

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值