嵌入式-C语言-const关键字-指针常量和常量指针

C语言-指针常量和常量指针

一:结论

1.常量指针 :b的值不能变,但是b的地址能变
const int* b = &x;

2.指针常量:p的地址不能变,但是p的值能变
int* const p = &y;

3.巧记口诀

星在(const)前,值变;

星在(const)后,址变;

4.读作pointer to,从右往左翻译
4.1、const int
b = &x;
英文:b is pointer to int const.
中文:b 是指针,这个指针指向整型常量。

4.2、 int* const p = &y;
英文:const p is pointer to int.
中文:常量p是指针,这个指针指向整型。

5.*解引用和定义指针
C语言-指针-解引用操作符和定义指针

二:const关键字

在c语言中,const关键字用于定义常量。

常量是指其值在程序执行期间不能被修改的变量,const可以修饰各种数据类型,包括整数、浮点数、字符和字符串以及指针。
const可以修饰指针类型,使指针指向的内容成为只读,但指针本身可以修改。

	const int a = 5;//已经定义了a=5
	a =10;//此时会报错,因为常量a已经被赋值,无法再次赋值

三:常量(const)指针(pointer)

1.常量指针 :b的值不能变=b地址指向的数值不能变,但是b的地址能变

const int* b = &x;//
&x = 0x61;//在内存中x分配到的地址
*b = 2;//b是指针,*b是一个数值

2、自然语言-英文-中文
const int* b = &x;
英文:b is pointer to int const.
中文:b 是指针,这个指针指向整型常量。

3.const 修饰(int* b)这一块,此时b是指针,(* b)就是一个具体的值(解引用),所以*b此时不变。

四:指针(pointer)常量(const)

1.指针常量:p的地址不能变,但是p的值能变(看成是指针名=元素首地址)

 int* const p = &y;
 &y = 0x61;//在内存中,y分配到的地址是0x61
 *b = 2;//b是指针,*b是一个数值

2、自然语言-英文-中文
int* const p = &y; //*读作pointer to,从右往左翻译
英文:const p is pointer to int.
中文:常量p是指针,这个指针指向整型变量。

3.const 修饰 p,那么指针p的地址不能变(*p是数值,p是指针)

五:聪明B友

在这里插入图片描述
在这里插入图片描述总结:const靠谁近,谁就硬,谁就不能被改变。

推荐视频:
1.https://www.bilibili.com/video/BV1xN4y1V75n/?spm_id_from=333.337.search-card.all.click&vd_source=761a4bd15f697c5f0d03eff06bd69b73
2.https://www.bilibili.com/video/BV1qy4y1e7ds/?vd_source=761a4bd15f697c5f0d03eff06bd69b73

以上,完

  • 22
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值