• c28---const


    //
    //  main.c
    //  const关键字,节省内存空间,放在字符表里面,
    
    #include <stdio.h>
    
    int main(int argc, const char * argv[]) {
       
        /*
         1.const,指针类型的左边、数据类型和*号之间,指针的指向可以改变,指向的内存空间中的值不能改变。
         2.const写在指针的右边(数据类型 * const), 那么意味着指针的指向不可以改变, 但是指针指向的存储空间中的值可以改变
         
         规律:
         如果const写在变量名的旁边(int * const p), 那么指针的指向不能变。
         其余,指向的内存空间不能改变。
         */
        
        const char *name = "lnj";
        printf("name = %s
    ", name);
        name = "lk";
        printf("name = %s
    ", name);
        
        
        int num = 10;
        int *p = &num;
        const int *p = &num;//内存空间不变(修饰int *,修饰*,意味着存储空间不变)
        int const *p = &num;//内存空间不变(修饰*,意味着存储空间不变)
        int * const p = &num;//变量里的地址值不变,指向不变(修饰变量p,p的地址值不变)
        
        
        *p = 998; // 修改了指针指向的内存空间中存储的值
        printf("&num = %p
    ", &num);
        printf("p = %p
    ", p);
        printf("num = %d
    ", num);
        
        int age = 30;
        p = &age;// 修改了指针的指向
        printf("&age = %p
    ", &age);
        printf("p = %p
    ", p);
        
        return 0;
    }
    
    void test()
    {
        // const对基本数据类型的作用, 可以让基本数据类型的变量变为常量
        // const有两种写法, 1.写在数据类型的左边, 2.写在数据类型的右边(变量名左边)
        const int num = 10;
        int const num = 10;//两种写法一样的,
        printf("num = %i
    ", num);
        num = 55;
        printf("num = %i
    ", num);
    }
  • 相关阅读:
    python列表作为默认参数的问题
    python 强制停止线程
    cProfile 分析python运行时间
    python global全局变量 模块通信问题
    ajax请求数据get、post
    vue中加载three.js全景图
    vue中加载three.js的gltf模型
    vue-cli2.x与vue-cli3.x的搭建
    cesium加载gltf模型
    vue/cli3引入cesium
  • 原文地址:https://www.cnblogs.com/yaowen/p/7404413.html
Copyright © 2020-2023  润新知