Const 使用方法总结

Const 使用方法总结

 

Const限定符的特点在于 强制最低访问权原则。用这个原则正确的设计软件可大大减少调试时间和不良副作用,并且能够使程序易于修改和调试。

最低访问权原则:为了完成知道的任务,总是授予一个函数访问其参数数据足够的权限,但是不给予更多的权限。

给函数传递的指针有如下四种情况:
指向非常量数据的非常量指针、指向非常量数据的常量指针、指向常量数据的非常量指针、指向常量数据的常量指针

1)如果传递给函数的值没有(或不应该)在函数体中被修改,应该用const声明该值以防止该值被意外的修改。
如打印一个一维数组,但并不希望在子程序中改变数组的长度值,故可用const修饰该值。


2)指向非常量数据的非常量指针具有最高访问权限。这种情况允许指针复用来修改数据,并能够通过修改指针使他能访问其他数据项。

3)可以修改指向常量数据的非常量指针使他指向具有合适类型的任何数据项,但是他所指向的数据不能被修改。
例如:‘
void printCharacters(const char * s)
{
    for(; *s != '/0'; s++)
 putchar(*s);
}
这种指针可用来接受一个数组参数,然后让函数在不修改数据的情况下处理数组的每一个单元。
用指向常量数据的指针传递诸如结构一样的大型对象可获得传引用调用的性能和传值调用的安全性。

如果内存是足够的,而执行效率是所要关心的问题,那么应该使用传值调用传递数据,从而强制实现最低访问权原则。要知道,某些系统并不很好的支持const,因此,传值调用时保护数据免遭修改最好的办法。

4)指向非常量数据的常量指针总是指向同一内存,其中的数据可以通过该指针修改。数组名就是这种情况

 

 

疑问:传值调用只能在调用函数中修改一个值。要在调用函数中修改多个值必须使用传引用调用???

 

摘自 C语言程序设计教程 c how to program

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值