不可忽视的const

const作为C语言的一个关键字.它用于修饰变量不可被修改.使用const在一定程度上可以提高程序的安全性和可靠性.接下来,对const进行分析,了解const定义在不同位置,所起的作用各是什么.

普通的修饰某个变量:表示该变量不可被修改

const int a = 5;  //表示变量a不能被修改

const int b[10]= {23,4, 5,21};//表示变量b不能被修改

指针指向的内容可以修改,但是指针不可以重新指向:(如下)

int a = 1, b = 2;

int * const p = &a;

//p = &b;//指针p重新指向, 错误

*p = 8;//对指针p指向的内容可以修改

指针可以重新指向,但指针指向内容不可以通过指针修改:(如下)

int const * p = &a;

指针指向的内容不可以修改,但是指针可以重新指向:(如下)

const int * p = &a;

总的来说:1.如果const在* 前代表指向内容不可以通过指针修改,但是指针可以重新指向

2.如果const在* 后代表指向内容可以通过指针修改,但是指针不可以重新指向

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.语言中变量的实质 要理解C指针,我认为一定要理解C中“变量”的存储实质, 所以我就从“变量”这个东西开始讲起吧...
    金巴多阅读 5,869评论 0 9
  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 8,820评论 3 44
  • __block和__weak修饰符的区别其实是挺明显的:1.__block不管是ARC还是MRC模式下都可以使用,...
    LZM轮回阅读 8,746评论 0 6
  • 八仙过海阅读 1,679评论 0 0
  • 灰白色的骨盘,出现在了鬼帝的手中,骨盘上有着光滑的镜面,令得其看上去更像是一面骨镜,镜面的边缘,则是铭刻着极为古老...
    混沌天书阅读 1,594评论 0 0

友情链接更多精彩内容