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

发布时间:2024年01月03日

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

以上,完

文章来源:https://blog.csdn.net/weixin_50833257/article/details/135340269
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。