zoukankan      html  css  js  c++  java
  • [c语言] const常量总结

    指向常量的指针

    不能通过指针修改它所引用的值,但指针所指向的对象

    int main(void)
    {
        int num = 10;
        int num1 = 20;
        const int *p;
    
        p = #
        printf("%d\n", *p);
        p = &num1;
        printf("%d\n", *p);
    
        *p = 30;
        printf("%d\n", *p);     //error: assignment of read-only location '*p'
    
        return 0;
    }
    
    • p可以修改为指向不同的整数常量
    • p可以修改为指向不同的非整数常量
    • 可以解引p以读取数据
    • 不能解引p从而修改它指向的数据

    指向非常量的常量指针

    这意味着指针不可改变,但它指向的值可以改变

    int main(void)
    {
        int num = 10;
        int num1 = 20;
        int *const p = #
    
        printf("%d\n", *p);
        *p = 30;
        printf("%d\n", num);
    
        p = &num1;      //error: assignment of read-only variable 'p'
    
        return 0;
    }
    
    • p必须被初始化为指向非常量指针,否则warning: initialization discards 'const' qualifier from pointer target type
    • p不能被修改
    • p指向的数据可以修改

    指向常量的常量指针

    这种指针很少派上用场。指针本身不能被修改,它指向的数据也不能通过它来修改

    Good Good Study! Day Day Up!

  • 相关阅读:
    SpringMVC源码阅读(一)
    Struts2技术内幕-----第七章
    1118 Lining Up
    1146 ID Codes
    1056 IMMEDIATE DECODABILITY
    1028 Web Navigation
    1045 Bode Plot
    1083 Moving Tables
    并查集路径压缩
    线段树
  • 原文地址:https://www.cnblogs.com/kdurant/p/4216895.html
Copyright © 2011-2022 走看看