博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
泥鳅般的const(一个小Demo彻底搞清楚)
阅读量:6520 次
发布时间:2019-06-24

本文共 656 字,大约阅读时间需要 2 分钟。

#include<stdio.h>
int main(){
    int a = 3;
    int b = 5;
    
    /* C标准库函数中最常见格式, 目的是保护參数, 可读而不可改动參数内容 */
    const int *p1 = &a;
    //含义: 从右到左"p1是一个指针变量, 可指向一个整型常量"
    //注意1: *p1是仅仅读常量, 不可作为左值再次赋值;
    //注意2: p1是变量, 能够又一次指向新的变量;
    //注意3: p1指向的变量a的值仍然能够改动;
    //*p1 = 7; error
    p1 = &b;
    a = 5;
    int const *p2 = &a;
    //含义: 从右到左"p2是一个指针变量, 可指向一个常量整数", 与上述格式情况等价
    //*p2 = 8; error
    p2 = &b;
    a = 6;
    int* const p3 = &a;
    //含义: 从右到左"p3是一个常量指针, 可指向一个整数"
    //注意1: p3是常量, 不可改动; *p3值变量, 能够改动;
    //注意2: a仍然是变量能够改动
    //p3 = &b; error
    *p3 = 12;
    a = 9;
    const int* const p4 = &a;
    //含义: 从右到左"p4是一个常量指针, 可指向一个整形常量"
    //注意1: *p4与p4均为常量, 仅仅可读不可改;
    //注意2: a是变量, 仍然能够改动
    //*p4 = 18; error
    //p4 = &b;  error
    a = 30;
    return 0;
}

转载地址:http://esubo.baihongyu.com/

你可能感兴趣的文章
什么是实践中真正在用的数据科学系统?
查看>>
新型智慧城市:构建“互联网+”新生活
查看>>
韩企全球首造72层3D NAND芯片 下半年或量产
查看>>
《R语言编程艺术》——1.4 R语言中一些重要的数据结构
查看>>
如何让你的手机比别人最先升级到 Android L
查看>>
阿里云开源编程马拉松入围项目
查看>>
Mozilla 开源支持计划:首批捐助 7 开源项目 50 万美元
查看>>
《Photoshop混合模式深度剖析》目录—导读
查看>>
《为iPad而设计:打造畅销App》——抓住iPad的核心用法
查看>>
华尔街宫斗戏升温:银行巨头和纽交所争夺交易数据所有权
查看>>
《精通自动化测试框架设计》—第2章 2.6节使用数据库
查看>>
《网站性能监测与优化》一2.4 软件服务应用网站
查看>>
《HTML5 开发实例大全》——1.26 使用鼠标光标拖动网页中的文字
查看>>
【JSP开发】有关session的一些重要的知识点
查看>>
生产库中遇到mysql的子查询
查看>>
redis debug命令详解
查看>>
3144: [Hnoi2013]切糕
查看>>
异构数据库
查看>>
iOS.ObjC.Basic-Knowledge
查看>>
iOS.ReactNative-3-about-viewmanager-uimanager-and-bridgemodule
查看>>