C/C++中的const和const指针的基本用法

1. const基本用法

C/C++ 中使用const 关键字来修饰常量,所有常类型的变量的值都是不可更改的,并且在定义的时候就必须被初始化:
const int a; // 错误,必须初始化
const int a = 100;
a = 200; // 错误,不能更改常量的值
const int a = 100int const a = 100 这两种写法是一样的。

2.const和指针

const指针有三种组合方式: 第一种:常量指针 常量指针是一个常指针,指针的数值不能更改,指针可以更改指向。
int num = 100;
int num2 = 200;  
const int * p = #
*p = 200;  // 错误,不能修改数值
p = &num2;  // 能修改指向
第二种:指针常量 指针常量和常量指针相反,它可以修改数值,但是不能修改指向。
int num = 100, num2 = 200;
int * const p = #
p = &num2;  //错误,不能修改指向
*p = 100;  //能修改数值
第三种:指向常量的指针常量 它既不能修改数值,也不能修改地址。
int num = 100, num2 = 200;
const int * const p = #
p = &num2;  // 不能修改地址
*p = 1000;  // 不能修改数值

3. C语言中的const和C++中的const的区别

C语言中的const是冒牌货
const int a = 10;
int *p = (int *)&a;
*p = 20;
printf("%d\n", a);  // 会输出20
c语言const C++中的const 上面同样的代码在C++中不会改变a的值,会输出10,C++在创建const变量时,会把常量放到符号表中,使用指针给常量间接赋值是没用的。

查看原文:http://www.mqzzz.cn/programming-language/c_cpp_const_point.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值