C-038.const关键字

本文详细解释了C++中const关键字的应用场景,包括修饰普通变量、数组、指针、函数参数和返回值,阐述了其限制变量修改、确保函数行为可预测的重要性,同时提供了实例代码演示。
const 说明定义的变量是只读的

1.const修饰一个普通变量,表示这个变量是只读的,不可以修改的
const的位置与其类型的位置是可以调换的

2.const 修饰数组,表示数组是只读的,必须定义的时候进行初始化

3.const 修饰指针的时候,如果const放在*前面,表示指针指向的内容是只读的,不可以通过指针修改它所指向的存储内容
如果const在*后面说明指针本身是只读的,不能改变指针的指向

4.const 修饰形参:保证这个形参不会被函数修改
同时也可以告诉函数的调用者,本函数不会修改它里面的内容
可以提高函数可读性

5.const修饰函数返回值说明它的返回值不能修改


void sum(const int num1,int num2){
/*
    4。修饰形参:保证这个形参不会被函数修改
    同时也可以告诉函数的调用者,本函数不会修改它里面的内容
    可以提高函数可读性
*/
    //num1 = num2; 会报错,因为num1已经被修饰了,只读
    printf("%d\n",num1);
}

const char * strtest(){
    //5.const 作为函数返回值说明它的返回值不能修改
    return "hello";
}

//argc 说明当程序启动时候,从控制台传入的参数的个数
//argv 从控制台传入的参数的值
int main(int argc, const char * argv[]) {
    
    //1.const 修饰普通变量
    int const a = 10;
    const int b = 20; //可以和数据类型调换位置
    //a = 20;         这行会报错,const修饰后,不能修改,只能读取
    printf("%d,%d\n",a,b);
    
    //2.const 修饰数组
    int const str[] = {1,2,3};
    const int str1[] = {4,5,6};
    //str[0] = 0; 报错,不能修改
    
    //3.const 修饰指针
    //3.1const 放在*前面,表示所指向的内容不能改变
    int c = 30;
    int const *p = &c;
    //const int *p = &c; 也可以调换位置
    //*p = 31;  报错,不能修改
    
    //3.2const 放在*前面,表示所指向的地址不能改变
    int d = 40;
    int * const p1  = &d;
    *p1 = 50;   //可以修改指向的内容
    //p1 = &c;  报错,不能改变指向
    
    const int * const p2 = &c; //全都只读,不管是指针还是指向的内容
    // *p2 =60;
    // p2 = &d;
    
    //5.const 作为函数返回值说明它的返回值不能修改
    const char *strs = strtest();//需在前面加const,否则会报警告
    printf("%s\n",strs);
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值