C语言中关于const int和int const,const int *和int const *,int *const的理解

前言:

1.一般定义

const是一个C语言中的关键字,所修饰的数据类型的变量或对象的值是不能被改变的。

2.推出目的

初始目的是为了取代预编译指令

3.主要作用

1)定义const常量,具有不可变性

2)便于进行类型检查

3)防止误修改

4)节省空间,提供效率

举例:

1.const int和int const

#include "stdio.h"

int main(void)
{
    const int a = 10;
    //int const a = 10;   //同上句代码作用等同
    //a = 20;             //取消注释此句会报错,因为a的值不可变
    printf("%d\n",a);
    return 0;
}

2.const int *和int const *

#include "stdio.h"

int main(void)
{
    int a = 10;
    int b = 20;
    const int *c = &a;    //const修饰的是int,也即是*c的值不可变,但c指针可变
    //int const *d = &a;  //同上句代码作用等同
    //*c = 20;            //取消注释此句会报错,因为*c的内容不可变
    c = &b;               //可以修改c,指向新的地址
    printf("%d\n",*c);
    return 0;
}

3.int *const 

#include "stdio.h"

int main(void)
{
    int a = 10;
    int b = 20;
    int *const c = &a;    //const修饰的是指针c,所以c是常量指针,但存储的地址所指向的内容可变
    //c = &b;             //取消注释此句会报错,因为c是常量指针
    *c = 30;
    printf("%d\n", *c);
    return 0;
}
发布了81 篇原创文章 · 获赞 21 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_33575901/article/details/98659122