关于char * /const char * /char * const /const char * const 的区别

1. char * t_str ;你可以让指针指向另一个字符串,同时也可以修改指针指向字符串的值。

eg:

char * t_testStr1 = "exetime";
t_testStr1[1] = 't';//right
t_testStr1 = "etetime";//right
2. const char * t_str;你可以让指针指向另一个字符串,但不能修改指针指向字符串的值。

eg:

const char * t_testStr2 = "exetime";
t_testStr2[1] = 't';//compile error 
t_testStr2 = "etetime";//compile right .重新给字符串赋值,让指针指向别的字符串

3. char * const t_str: 你不能修改指针指向的字符串,但可以修改指针指向字符串的值。

char * const t_testStr3 = "exetime";
t_testStr3[1] = 't';//compile right
t_testStr3 = "etetime";//compile error

4. const  char * const t_str;你不能让指针指向别的字符串,也不可以修改指针指向字符串的值。

const  char * const t_testStr3 = "exetime";
t_testStr3[1] = 't';//compile error
t_testStr3 = "etetime";//compile error

参考文献:

http://stackoverflow.com/questions/4949254/const-char-const-versus-const-char

在c++中可以用

const int 取代#define 定义的整型数据。

const char * const 取代#define 定义的字符串。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值