zoukankan      html  css  js  c++  java
  • const限定词使用

    可以⽤const关键字创建不允许修改的数组:
    const int days1[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
    1.在指针和形参声明中使⽤const
    声明普通变量和数组时使⽤ const 关键字很简单。指针则复杂⼀
    些,因为要区分是限定指针本⾝为const 还是限定指针指向的值为
    const。下⾯的声明:
    const float * pf; /* pf 指向⼀个float类型的const值 */
    创建了 pf 指向的值不能被改变,⽽ pt 本⾝的值可以改变。例如,
    可以设置该指针指向其他 const值。相⽐之下,下⾯的声明:
    float * const pt; /* pt 是⼀个const指针 */
    创建的指针pt本⾝的值不能更改。pt必须指向同⼀个地址,但是它
    所指向的值可以改变。下⾯的声明:
    const float * const ptr;
    表明ptr既不能指向别处,它所指向的值也不能改变。
    还可以把const放在第3个位置:
    float const * pfc; // 与const float * pfc;相同
    如注释所⽰,把const放在类型名之后、*之前,说明该指针不能⽤
    于改变它所指向的值。简⽽⾔之, const放在*左侧任意位置,限定了
    指针指向的数据不能改变;const放在*的右侧,限定了指针本⾝不能改
    变。
    const 关键字的常⻅⽤法是声明为函数形参的指针。例如,假设有
    ⼀个函数要调⽤ display()显⽰⼀个数组的内容。要把数组名作为实际
    参数传递给该函数,但是数组名是⼀个地址。该函数可能会更改主调
    函数中的数据,但是下⾯的原型保证了数据不会被更改:
    void display(const int array[], int limit);
    在函数原型和函数头,形参声明const int array[]与const int * array
    相同,所以该声明表明不能更改array指向的数据。
    ANSI C库遵循这种做法。如果⼀个指针仅⽤于给函数访问值,应
    将其声明为⼀个指向const限定类型的指针。如果要⽤指针更改主调函
    数中的数据,就不使⽤const关键字。例如,ANSI C中的strcat()原型如
    下:
    char *strcat(char * restrict s1, const char * restrict s2);
    回忆⼀下,strcat()函数在第1个字符串的末尾添加第2个字符串的
    副本。这更改了第1个字符串,但是未更改第1个字符串。上⾯的声明
    体现了这⼀点。

  • 相关阅读:
    CSS选择器
    认识CSS样式
    1003 Max Sum(动态规划)
    Python_oldboy_自动化运维之路(八)
    Python_oldboy_自动化运维之路_全栈考试(七)
    Python_oldboy_自动化运维之路_函数,装饰器,模块,包(六)
    ibm x3550m4 开启cpu高性能模式
    Python_oldboy_自动化运维之路_全栈考试(五)
    Python_oldboy_自动化运维之路(四)
    Python_oldboy_自动化运维之路(三)
  • 原文地址:https://www.cnblogs.com/focus-z/p/14674183.html
Copyright © 2011-2022 走看看