zoukankan      html  css  js  c++  java
  • C语言学习笔记-const关键字

    c语言中 const 关键字使用示例

    1. const 修饰的变量定义时要初始化,不初始化后面就没有办法赋值了
    2. const 运用在指针上
    3. c 语言中的 const 是个冒牌货,使用指针任然能够修改
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    
    #include <stdio.h>
     
    int main()
    {
        char buf[] = "dfasfadsgafdg";
        const char *p = buf;
        // p[1] = "2"; err
        p = "0x11";
        // const 此时修饰的是 *p,表示 p 指向的那块内存的内容 *p 是不可变的
     
        // char const *p1 = buf;
        // p1[1] = '2;
        // 交换顺序这里 const char 与 char const 相同
     
        char * const p1 = buf;
        p1[1] = '2';
        // p1 = "0x11"; err
        // const 此时修饰的是 p,表示指针变量 p 本身是不可修改的,而指针变量指向的内容 *p 是可以修改的
     
        const char * const p3 = buf;
        // p3[1] = '2; err
        // p3 = "abc"; err
        // 两个 const 分别修饰了 p 和 *p,此时无论是指针还是指针指向的内存都不可变,完成处于只读状态
     
        const int a = 123;
        // a = 321; err
        int *q = NULL;
        q = &a;
        *q = 321;
        printf("a: %d
    ", a);
        // c 语言中的 const 是个冒牌货,使用指针任然能够修改
     
        return 0;
    }
    
  • 相关阅读:
    美团面试(c++方向)
    浪潮面试-软开
    ofo C++面试
    B树、B+树等
    爱奇艺2017秋招笔试(C++智能设备方向)
    腾讯内推一面C++
    i++ 相比 ++i 哪个更高效?为什么?
    进程间的通讯(IPC)方式
    一台服务器能够支持多少TCP并发连接呢?
    可重入和不可重入
  • 原文地址:https://www.cnblogs.com/shuiyj/p/13185158.html
Copyright © 2011-2022 走看看