• const 关键字修饰指针


    const在C中修饰指针
    比如:
    const char *a = "a";
    char * const b = "b";
    const char * const c = "c";

    const在类型前,修饰的是内容;在变量名前,修饰的是指向。
    例:
    a = "xxx";
    *a = 'a'; ×
    b = "xxx"; ×
    *b = 'b';
    c = "xxx"; ×
    *c = 'c'; ×
    总结
    这种问题如果不深究的话,就记住。
    推测

    • const char *字面上看,很容易理解为指向不能修改,但是其内容可以所以修改。

    • char * const字面上看,指向随意修改,内容不能修改。

    • char * const b,const在变量名b前,而变量的类型是char *型,所以const修饰了一个类型为char *的b变量,所以指针b不能改变其指向,但是没有限定其内容,所以可以修改其内容。

    • const char *a,const在char *前,则表示const修饰一个指针类型为char的变量,这个变量名为a,所以变量名为a的内容不能改变,但是其指向可以改变。
      以上都是个人推测,如果想知道准确的解释的话,这得去查看const变量在系统中如何存储的吧!
      如果有更好的理解,请留言,或者联系我,不甚感激。

  • 相关阅读:
    vs编译出现 fatal error LNK1281:无法生成 SAFESEH 映像
    $apply()和$digest()——angular
    JS获取URL中参数值
    NeDB——node嵌入式数据库
    VS Code常用插件
    js断点调试
    VS Code 使用Git进行版本控制
    VS Code快捷键
    用户tokenId
    node-webkit-updater——NW.js自动更新
  • 原文地址:https://www.cnblogs.com/coolYuan/p/16417136.html
Copyright © 2020-2023  润新知