zoukankan      html  css  js  c++  java
  • [C_const]指针上的对比

    #include "stdio.h"

    int main(int argc, char const *argv[])
    {
    printf("Hello const of Goodboy Lee! ");

    // a和b是一个指向int类型的指针,无法通过a来改变指向的空间的值
    const int *a;
    int const *b;

    // c是一个指向int类型的常量指针,无法改变a和b的指向
    int c1 = 3;
    int * const c = &c1;
    int * const d; // 指向NULL, 无法改变指向,顾推荐赋初值
    printf("*d = %p ", d);

    int a1 = 1;
    int b1 = 2;
    int c2 = 31;

    a = &a1;
    b = &b1;
    // d = &c1; // 编译报错,无法重新赋值,需定义时赋初值

    // 1. 试图通过a来改变a1的值
    // *a = 2; // 编译报错
    // 只能通过a1来修改a指向的变量即a1的值
    a1 = 100;
    printf("*a = %d, a1 = %d ", *a, a1);

    // 2. 试图通过b来改变b1的值
    // c = &c2; // 编译报错,无法指向另一个空间
    *c = 200;
    printf("*c = %d, c1 = %d ", *c, c1);

    return 0;
    }

  • 相关阅读:
    [APIO2007]风铃
    [APIO2011]方格染色
    [APIO2016]烟火表演
    [APIO2013]机器人
    [APIO2015]巴厘岛的雕塑
    [APIO2015]八邻旁之桥
    [APIO2010]特别行动队
    [APIO2015]雅加达的摩天楼
    WC2019游记
    退役前的做题记录3.0
  • 原文地址:https://www.cnblogs.com/webapplee/p/3887111.html
Copyright © 2011-2022 走看看