c28---const

Posted 672530440

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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\n", name);
    name = "lk";
    printf("name = %s\n", 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\n", &num);
    printf("p = %p\n", p);
    printf("num = %d\n", num);
    
    int age = 30;
    p = &age;// 修改了指针的指向
    printf("&age = %p\n", &age);
    printf("p = %p\n", p);
    
    return 0;
}

void test()
{
    // const对基本数据类型的作用, 可以让基本数据类型的变量变为常量
    // const有两种写法, 1.写在数据类型的左边, 2.写在数据类型的右边(变量名左边)
    const int num = 10;
    int const num = 10;//两种写法一样的,
    printf("num = %i\n", num);
    num = 55;
    printf("num = %i\n", num);
}

 

以上是关于c28---const的主要内容,如果未能解决你的问题,请参考以下文章

[linux][c/c++]代码片段01

C语言代码片段

c_cpp Atlas300代码片段

c_cpp Robolution基本代码片段

[linux][c/c++]代码片段02

iphone / Objective c的最佳代码片段网站是啥[重复]