美文网首页
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