相信所有在学C的人都对const 和 *这对小情侣非常熟悉,实在是太烦了。他们中间还时不时得加个第三者什么int,char啥的。看了很多资料再加上我自身的总结提炼理解以后,我终于把他们理清了。
首先const这个关键字是用来修饰常量的,我们就简称它为常量。定义指针的时候都会用到*,int *p。因此我们简称*为指针。
起好简称后我们来看看这对小夫妻,记得抛开一切第三者,我们眼里只有这对小夫妻。const *(记得千万别管第三者在哪,我们眼里只有他俩),常量在前指针在后,我们叫他常量指针。这是个指针,一个指向常量的指针。因此它指的那个东西,就是以它的值为地址的那个东西(指针不懂的可以留言,看看我的理解足不足够为大家解答)。那个东西是个常量,它不能通过我们的常量指针来修改(当然别的指向他的指针还是可以改他的)。既然我们的常量指针是个指针,那他肯定想指谁就指谁,因此他指向的内存是可以改的。
上图!!!cLion的报错应该够清晰了吧!!!
接下来我们来看他们的另一种组合 *const,同理记得抛开第三者。很显然指针在前常量在后这是个指针常量。这是个常量,这个指针是个常量,因此他指向的内存是不能改的,只要指向的地方(地址)不动,那一亩三分地住的到底是华妃还是熹贵妃压根就没人管。也就是说,常量指针指向的地方不能改,但那块地方的值(华妃还是熹贵妃)可以改。
粗浅见解,如有不对的地方,欢迎各位大佬指正。
标签:第三者,const,常量,指向,情仇,C语言,我们,指针 From: https://blog.csdn.net/m0_62364527/article/details/136719302