const介绍及常见用法

发布于:2022-12-14 ⋅ 阅读:(473) ⋅ 点赞:(0)

const是限定符,它把一个对象转化为一个常量。

const和define区别:

       两者都可以用来定义常量,但是const定义时,还定义了常量的类型,所以更精确一些。#define只是简单的文本替换,除了可以定义常量外,还可以用来定义一些简单的函数,有点类似内联函数(Inline)。const和define定义的常量可以放在头文件里面。(小注:可以多次声明但只能定义一次

const使用:

  1. 修饰局部变量
    const int x=10;
    int const x=10;

    使用后x的值不会被修改

  2. 修饰常量静态字符串
    const char* str="cheer";
    char const *str="cheer";
    char* const str="cheer"; 

    如果const位于星号的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;
    如果const位于星号的 右侧,const就是修饰指针本身,即指针本身是常量。

  3. 修饰全局变量

          当const是全局变量,那被const修饰的对象在代码中不会再被修改。

      4.修饰常量指针

const int *num;
int const *num;

          1.const修饰指针时,不能通过指针的方式改变变量的值,但可以通过其他方式如引用改变变      量的值。

int x=10;
const int* n=&x;
x=100;

            2.常量指针指向的值不能改变,但指针本身可以改变,可以指向其他地址。

int x=10;
int y=50;
const int* n=&x;
n=&y;

          5.修饰指针常量

int *const num;

     指针常量所指地址不能改变,但地址中保存的数值是可以改变的,可以通过其他指向该地址的指针修改。

int x=10;
int *n=&x;
int* const m=&x;
*n=50;

           6.指向常量的常指针

const int* const num;

       数值和地址都不能改变。

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到