C语言学习笔记---const关键字
1、const修饰变量
被const修饰过的变量相当于常量,它的值不能被赋值改变,在整个作用域内保持固定。所以说它定义的是只读变量,在定义的时候需要给它赋初值。
1 const int a = 1; 2 a = 2; /*错误,常量的值不能改变*/ 3 const int a; /*错误,常量定义时需要初始化*/
2、const修饰指针
1 const int* p; /*常量指针,指针指向的内存可以改变,指针的值不能改变*/ 2 int* const p; /*指针常量,指针指向的值可以改变,指针指向的内存不能改变*/ 3 const int* const p; /*指向常量的常量指针,指针指向的值和内存都不能改变*/
3、const修饰形参
(1)const修饰形参变量时,在函数体内值不能改变。
(2)const修饰形参指针时,在这里指常量指针,在函数体内指向的数据不能改变。
注:上述是对const关键字基本用法做出了简介,但在应用中,被const修饰过的常变量可以修改吗?
1 const int a = 1; 2 int* b = &a; 3 *b = 2; 4 printf("%d", a);
上述代码运行结果为2,可以看出被const修饰过的常变量不能通过变量名去修改,但可以通过指针去修改被const修饰的内存。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了