话说C语言的const3

const在C语言中算是一个比较新的描述符,我们称之为常量修饰符,意即其所修饰
的对象为常量(immutable)。
我们来分情况看语法上它该如何被使用。

步骤/方法

  • 01

    这里还要说明的一点是在函数参数声明中const一般用来声明指针而不是变量本身。 例如,上面的size_t len,在函数实现的时候可以完全不用更改len的值,那么是否 应该把len也声明为常量呢?可以,可以这么做。

  • 02

    我们来分析这么做有什么优劣。 如果加了const,那么对于这个函数的实现者,可以防止他在实现这个函数的时候修 改不需要修改的值(len),这样很好。 但是对于这个函数的使用者,

  • 03

    这个修饰符号毫无意义,我们可以传递一个常量整数或者一个非常量整数过 去,反正对方获得的只是我们传递的一个copy。

  • 04

    暴露了实现。我不需要知道你在实现这个函数的时候是否修改过len的值。 所以,const一般只用来修饰指针。 再看一个复杂的例子 int execv(const char *path, char *const argv[]); 着重看后面这个,argv.它代表什么。 如果去掉const,我们可以看出 char * argv[]; argv是一个数组,它的每个元素都是char *类型的指针。

  • 05

    如果加上const.那么const修饰的是谁呢?他修饰的是一个数组,argv[],意思就是 说这个数组的元素是只读的。那么数组的元素的是什么类型呢?是char *类型的指 针.也就是说指针是常量,而它指向的数据不是。 于是 argv[1]=NULL; //非法 argv[0][0]='a'; //合法

(0)

相关推荐

  • 话说C语言的const5完结

    const在C语言中算是一个比较新的描述符,我们称之为常量修饰符,意即其所修饰 的对象为常量(immutable). 我们来分情况看语法上它该如何被使用. 步骤/方法 01 这样做的结果是,每个包含了 ...

  • 话说C语言的const1

    const在C语言中算是一个比较新的描述符,我们称之为常量修饰符,意即其所修饰 的对象为常量(immutable). 我们来分情况看语法上它该如何被使用. 步骤/方法 01 函数体内修饰局部变量. 0 ...

  • 设计语言 – 表单/其他表单(含表单附件)

    高级搜索.基础校验表单.控件校验表单.弹窗(附件里有原图).我一看都快一个月没有写文章了,时间过得这么快嘛~ 那话说回来,之前没有更新也是有一定的原因的,毕竟上一篇文章存在一些争议,就会加重我的思考, ...

  • 如何启用Word2010中"自动切换键盘以匹配周围文字的语言"功能

    在Word2010文档中,用户可以启用“自动切换键盘以匹配周围文字的语言”功能。当用户将鼠标光标移动到西文字符的段落中时,键盘布局将自动更改为与光标位置相邻文本的语言相匹配的语言。该功能仅适用于西文字 ...

  • ASP.NET MVC实现功能:通过URL路由实现对多语言的支持

    对于一个需要支持多语言的Web应用,一个很常见的使用方式就是通过请求地址来控制界面呈现所基于的语言文化,比如我们在表示请求地址的URL中将 上语言文化代码(比如en或者en-US)来指导服务器应该采用 ...

  • 微信怎么更改语言设置?微信多语言设置

    想突出自己的个性吗?想让自己与别人雨中不同吗?从字体开始,繁体字、英语等语言可以体现一个人的文化程度哦。那么微信怎么更改语言设置?下面小编就为大家带来微信多语言设置方法,一起来看看吧! 1)首先打开【 ...

  • 微软Win8系统语言设置技巧如添加或更改输入法等等

    在Win8系统中,可以在电脑设置常规选项页面,点击“语言首选项”进入语言设置页面,可以进行添加或更改输入法、键盘布局和语言。 图1 电脑设置常规页面 在语言设置页面,更改语言首选项中,可以选择“添加语 ...

  • Win8系统语言设置技巧之如何添加输入法

    对于刚刚接触Win8系统的朋友,在使用上可能会有点不习惯,但是熟悉Win8系统之后,你会发现Win8系统中还有很多方便快捷的操作技巧。今天,主要介绍Win8系统中语言设置技巧。在Win8系统中,可以在 ...

  • windows7系统怎么添加多国语言包具体步骤

    首先我们在开始菜单中找到Windows Update 然后我们可以在可选更新处发现有34个更新可用,点击进入 这里就可以发现所有可以使用的语言包,然后勾选你需要的语言包,然后点击确定 现在我们点击安装 ...