18.加餐-指针及其应用(基于ARM Cortex-M)

印度小哥讲解的指针, 真的很好, 这里附上链接:
https://www.bilibili.com/video/BV1bo4y1Z7xf/?spm_id_from=333.999.0.0

1. 指针是什么

指针是用来存储一个变量地址的变量, 若是一个“变量”占用了多个地址, 那指针就指向对应的“变量”所占用的最低的“地址”

2. 指针中两个重要的操作符

&:“引用(地址)操作符(运算符)”.
*:“解引用操作符”.

表达式:&x 返回变量 x 的内存地址.
表达式:*p 返回指针 p 所指向的变量的值.

2.1 指针的作用

int main() {
	int a = 1;
	int* ptr;   // 表示可以存储一个“int类型”的变量地址.

	ptr = &a;   // 表示将“int类型变量“a””的地址存放到“指针ptr”中.
	return 0;
}

在这里插入图片描述

int main() {
	int a = 1;
	int* ptr;   // 表示可以存储一个“int类型”的变量地址.

	ptr = &a;   // 表示将“int类型变量“a””的地址存放到“指针ptr”中.

	*ptr = 5;
	return 0;
}

在这里插入图片描述

2.2 小结

&var 可以读作:var的地址.
*ptr 可以读作:ptr指向的值.

3. 指针与 ++, -- 的结合使用

int main() {
	int* ptr;

	//x = *ptr++;    // 这段代码表示:先将“ptr指针指向的值”赋值给“x”, 然后指针增加, 指向下一个元素.
	//x = (*ptr)++   // 这段代码表示:先将“ptr指针指向的值”赋值给“x”, 然后将指针ptr指向的值“+ 1”, 指针ptr还是指向这个地址.
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值