• const用法总结(通俗易懂)


    const的意思可以概括为 “一个不能被改变的普通变量” ,使得const在一定程度上提高程序的安全性和可靠性。

    const的几种情况:

    1. const的普通用法

    int const size;
    const int size;

    这两条语句都是把size声明为一个整数,他的值不能被修改。

    可以在声明的时候对他进行初始化,

    int const size =10;
    

    错误用法:

    const int size =10;
    char buffer[size];  

    错误在于,size占用某内存块,C编译器不知道它在编译的值。并且,C默认const是外部连接的,所以写成const是可以的。

    2.const用于指针

    (1)

    const int *p;
    int const *p;         //含义是指向常量的指针,指针的常量值不可以修改

     两者相同,p是一个指向整形常亮的指针,可以修改指针的值,但不能修改指针所指向的值。

    int b = 5;
    int c = 3;
    const int *p=&b;
    *p=6;    //错误,不能通过指针修改所指向的值;
    p=&c;    //正确,可以修改指针的值  

    (2)

    int * const p;   //含义是常量指针,p的值不可以修改
    

    p是一个指针,指针p是常量,它的值无法修改,但是可以修改p所指向的整型的值。

    int b = 5;
    int c = 3;
    int *const p = &b;
    *p = 6;  //正确,可以修改指针所值向的值
    p =&c;   //错误,不可以修改指针的值 

    (3)

    const int * const p;

    无论是指针本身还是它所指向的值都是常量。

    简单的判断的方法

    • 如果const在  *  的左侧,则const用来修饰指针所指向的变量,即指针指向位常量;
    • 如果const位于 * 的右侧,则const就是修饰指针本身,即指针本身就是常量。

     3.const用于函数的形参

    void foo(const int * p)
    

    const用于形参时说明了形参在函数内部不会被改变。这种形式通常用于数组形式的参数中模拟传值调用。这也是const最有用之处,限定函数的形参,这样该函数将不会修改实参指针所指向的数据。这里需要注意得的是,是函数不应该去修改而不是不能修改。

    4.声明常量的其他方法

    C语言中可以用enum类型和#define宏来定义常量

    #define MAX_SIZE 10;
    int const max_size =10;

    此处使用#define比使用const变量更好。

    只要允许使用字面值常量的地方都可以使用前者,比如声明数组的长度。

    const变量只能用于允许使用变量的地方。 

  • 相关阅读:
    Programming Style
    一则SQL问题
    C# WINFORM中读取config文件
    《Windows Communication Foundation之旅》系列之四 (转)
    [译]ASP.Net 2.0: Export GridView to Excel (转) 如果GridView中有其它控件,比如Checkboxes,Dropdownlists,我们需要将它转换为其相关的值,以下递归就用于导出Excel前的准备工作,将各类控件转换为其相关值.
    Windows Communication Foundation入门(Part One) (转)
    DOM方法和属性 使用范例
    一套.net面试题~ 没有正确答案~ 大家做做看
    一则 Oracle 和 SqlServer 语法区别 (原创)
    最基本的Socket编程 C#版 [转]
  • 原文地址:https://www.cnblogs.com/happying30/p/9350712.html
Copyright © 2020-2023  润新知