IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    C语言的const关键字

    rock发表于 2017-02-09 22:52:23
    love 0
    C语言中的const一直是C语言初学者心中的痛,这是因为const在不同位置有不同作用,在不同情景有不同角色。这让初学者摸不清头脑。今天和大家一起研究一下const,让它的每个角色都“深入人心”!

    const和指针的配合是噩梦!

    你能分辨得清这些声明么:
    1. const int *A;
    2. int const *A;
    3. int *const A;
    4. const int *const A;
    如果有点犯晕的话,那就先给出它们的讲解,然后继续看后面的情景分析吧。
    1. const int *A; //修饰指向的对象,A可变,A指向的对象不可变
    2. int const *A;   //修饰指向的对象,A可变,A指向的对象不可变
    3. int *const A;   //修饰指针A, A不可变,A指向的对象可变
    4. const int *const A; //指针A和A指向的对象都不可变

    记住以下的话:
    靠近谁约束谁,对于情况1和情况2 靠近 *A,约束 *A, 对于情况3 告诉A 约束A。 或者说const在 * 前约束指针指向的值,在*后约束指针本身。





沪ICP备19023445号-2号
友情链接