C语言中const代表着”不可变“,基本和常量一样不可修改,但是应用场景不一样。

一.应用在变量

const char a='A';

a='B';  //错误,变量a的值不可以修改。

此时代表变量a值不可改变,任何企图修改a变量值的语句(例如a=20;)都会报错。

二.应用在指针

1)应用在*左边

const char *p;

char const *p;

以上两条语句作用一样,都是表示指针指向的变量值不可以修改,但指针可以修改。

例如1;

const char *p='A';

char *q;

*p='B';  //错,指针指向的值不可以修改。

p=q;      //对,指针值可以修改

2)应用在*右边

char *const *p;

表示指针值(指针指向的位置)不可以改变,但指针指向的值可以改变。

例如2:

char *const *p='A';

char *q;

*P='b';  // 对,指针指向的值可以修改。

p=q;      //错误,指针值不可以修改。

总之,const在*左边,表示指针指向的值不可以修改。const在*右边,表示指针值(也就是指针指向的位置)不可以修改。

三.应用在函数参数

例如3:strcat(char *a,char const *b),将参数b指向的字符串,添加到参数a字符串的末尾。

此时,参数*a值可以改变,但是表示参数*b值不可改变

const关键字在c语言的作用,C语言const关键字作用相关推荐

  1. 【C 语言】const 关键字用法 ( 常量指针 - const 在 * 左边 - 修饰数据类型 - 内存不变 | 指针常量 - const 在 * 右边 - 修饰变量 - 指针不变 )

    文章目录 一.const 普通用法 二.常量指针 ( 指向 常量 的指针 | 被指向的内存不能被修改 ) 三.指针常量 ( 指针不能被修改 ) 三.指向 常量 的 指针常量 四.const 在 * 左 ...

  2. 根据作用C语言关键字分为,C语言 关键字

    关键字就是已被C语言本身使用,不能作其它用途使用的字.例如关键字不能用作变量名.函数名等 由ANSI标准定义的C语言关键字共32个. 根据关键字的作用,可以将关键字分为数据类型关键字和流程控制关键字两 ...

  3. 在C语言中如何让常量起作用,解析C语言中如何正确使用const

    基本解释 const是一个C语言的关键字,它限定一个变量不允许被改变.使用const在一定程度上可以提高程序的健壮性,另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一些 ...

  4. c语言存储类型关键字作用,c语言学习笔记.关键字.存储类型关键字等

    关键字const 1.修饰变量. 修饰的对象为常量,只读. 2.修饰指针. const 也可以和指针变量一起使用,这样可以限制指针变量本身,也可以限制指针指向的数据. const 离变量名近就是用来修 ...

  5. 【C语言】刨根问底 - 深剖const关键字

    const是一个C语言的关键字,在关键字中有着举足轻重的地位,更是在面试过程中被高频提问的一个关键字.它限定一个变量不允许被改变,产生静态作用.并且使用const在一定程度上可以提高程序的安全性和可靠 ...

  6. const 作用 c语言,在C语言中const 作用的的全面总结.doc

    右面拒账则川盾衡徊洁豁却尤骂登硫矢窍松寝春摘慌瘪悯嚏蓑篓雍淫东佳粮瘤遍榜柔脾右晕沮椒肃蛾闲惹戚谩智胜汁秀玉怠继纺侥圃唯需齿翟顿稽吩餐音欧宪撅虐镁级脖铲贵酋挚昂藕瓢需冷乃依萎听滚俄郭奴痈急欲沾挂畅好姐载 ...

  7. c语言 const常量作用,C语言 const常量讲解

    //const的本质 //const本质上是伪常量,无法用于数组初始化以及全局变量初始化 //原因在于const仅仅限定变量无法直接赋值,但是却可以通过指针间接赋值 //例如局部常量在栈区,而不在静态 ...

  8. c语言 char转int_C语言关键字及进制的转换你都知道吗?

    ​前面我们讲过 C语言简洁.紧凑 使用方便.灵活 那是什么使得C语言这么方便呢? 那就是关键字,或称保留字 C语言的关键字共有32个 根据关键字的作用 可分为 数据类型关键字 控制语句关键字 存储类型 ...

  9. 【C语言重点难点精讲】关键字精讲

    必读: C语言关键字是一个非常重要的话题,因为它能在相当的程度上将C语言的核心内容串联起来,起到一种提纲挈领的效果 下面的内容重点提及的是相应关键字特别值得注意的地方,这些地方是我们经常忽略的,而且考 ...

  10. C语言深度解剖读书笔记(1.关键字的秘密)

    开始本节学习笔记之前,先说几句题外话.其实对于C语言深度解剖这本书来说,看完了有一段时间了,一直没有时间来写这篇博客.正巧还刚刚看完了国嵌唐老师的C语言视频,觉得两者是异曲同工,所以就把两者一起记录下 ...

最新文章

  1. word2vec原理之CBOW与Skip-Gram模型基础
  2. NET问答: 有最干净利落的读写文件方式吗?
  3. 趣挨踢 | 跳槽季,让我们一起攻克算法吧!
  4. 备份自己常用的VS2010设置
  5. (转)基于MVC4+EasyUI的Web开发框架形成之旅--MVC控制器的设计
  6. 洛谷P1351 联合权值(树形dp)
  7. Outlook2016中如何实现自动密送
  8. webGIS的粗浅认识(一)
  9. 计算机中年级排名怎么操作,智学网年级排名查看方法规则介绍
  10. UVA11991 Easy Problem from Rujia Liu?(第K个V的位置)
  11. Ripple 源码笔记
  12. Linux TCP Timestamps 没鸟用
  13. Android 仿照美团城市选择,微信小程序仿美团城市选择
  14. 第四章css总结,第四章CSS层叠样式表分析.doc
  15. 开发者工具绕过前端debuger
  16. Android 性能优化(一) —— 启动优化提升60%
  17. 四十 爱是什么 我在软件园的那些日子里
  18. 看萧井陌直播写代码有感
  19. 杀猪盘、杀鸟盘、杀鱼盘...网络诈骗为何如此难以防范?
  20. 2023考研大纲公布院校

热门文章

  1. hive --metastore三种模式
  2. Linux学习总结(六十六)打印一串数字的脚本
  3. Css3新特性应用之形状
  4. 关于MFC对话框程序如何接收命令行传递过来的参数问题
  5. 【数据结构amp;amp;等差数列】KMP简介和算法的实现(c++ amp;amp; java)
  6. 【互联在线1001个设想】之“自需产品在自家店买”
  7. SQL Server还原和一些小发现
  8. Android 常用语句
  9. 一个二维码不同手机扫描下载时跳转问题
  10. WPF调用OCX控件