此帖出自嵌入式系统论坛
最新回复
楼上已经道出本质了。
这里帮你扩展一下辅助理解。
如果你的程序只有几百行,并且是一个人独立完成的,那么const这个参数没多大意义,为了方便,完全忽略都可以。
但如果是万行代码以上,并且是多人协作开发,const就有意义了,假设我们有如下程序:
char * name = "abc";
func1(name);
func2(name);
func3(name);
...
funcN(name);
printf("Name=%s\n", name);
如果我们最后预期打印结果是"xyz",但是实际输出是“Ansersion”,你觉得中间是哪一环出了问题?
其中func1,func2,...funcN分别是不同人写的,而且有些都离职了,你根本不知道实现细节,你要怎么去追查呢?
成千上万行的代码难道要一行一行去看吗?毕竟时间就是金钱啊,能不能快一点定位问题呢?这时就体现了const的价值了,如果函数的参数是const修饰的,就可以排除犯罪嫌疑了,因为该函数是无法修改name的数据的,否则编译阶段就会报错。
const的本质在于让数据只读,最大的作用在于方便程序调试和追踪。
详情
回复
发表于 2019-12-19 09:58
| ||
|
||
| |
|
|
| |
|
|
此帖出自嵌入式系统论坛
| ||
|
||
| |
|
|
浏览过的版块 |
EEWorld Datasheet 技术支持