美文网首页
const使用

const使用

作者: arkliu | 来源:发表于2022-10-06 11:55 被阅读0次
    #include <stdio.h>
    
    int main() {
        // const修饰一个变量为只读
        const int a = 100;
        //a = 20; //error: assignment of read-only variable 'a'
    
        //指针变量 指针指向的内存 是2个不同的概念
        char buf[] = "hello world..";
    
        // 从做往右看,跳过类型,看const修饰哪个字符
        // 如果是* 说明指针指向的内存不能改变
        // 如果是指针变量,说明指针的指向不能变
        const char * p = buf; //等价于char const * p1 = buf;
        //p[1] = 'a'; // err
        p = "akdjfkla";
        
        char * const p2 = buf;
        p2[1] = 'b';
        //p2 = "jaksjdf"; //err
    
        // p3指向不能变,指向的内存也不能变
        const char * const p3 = buf;
        return 0;
    }
    

    通过指针可以修改c语言中const修饰变量的值

    const int a = 100;
    int * b = &a;
    *b = 200;
    printf("*b = %d  a = %d\n", *b, a);
    

    const_cast

    const int n = 5; // int * p = &n; //error: invalid conversion from 'const int*' to 'int*'
     int * p2 = const_cast<int *>(&n); // ok
    

    相关文章

      网友评论

          本文标题:const使用

          本文链接:https://www.haomeiwen.com/subject/qwteartx.html