一个程序读懂指针常量、常量指针

char s1[]="abc"//可以被修改
char s2[]="abc"
s1==s2?
s1不等于s2,两个没关系
char *s1="abc"//不能被修改
char *s2="abc"
s1=s2两个指向同一个字符串,“abc”被保存在静态区

const char * 表示常量,指针不能被修改,指针指向的内容也不能被修改。
char const* 常量指针,指针可以被修改,指针指向的内容不能被修改
char *const 指针常量,指针不能被修改,指针指向的内容可以被修改。

#include<iostream>
using namespace std;
int main(){
const char* node1="abc"; //常量
char const* node2="abc";//常量指针
char* const node3="abc";//指针常量
char node4[]="abc";
char *node5="abc";
node1[2]='k';//常量不可以修改
*node1[2]='k';//声明错
*node1="xyz";//1.指针不能修改;2.const char*不能转换为char
node1="xyz";//
node2[2]='k';//指向的内容是常量,不可以修改
*node2[2]='k';//声明错误
*node2="xyz";//1.指针不能修改;2.const char*不能转换为char
node2="xyz";
node3[2]='k';//
*node3[2]='k';//声明错
*node3="xyz";//const char*不能转换为char
node3="xyz";//指针不能修改
cout<<(node1==node4)<<endl;
node2[1]='a';//char*声明的字符串不能被修改
return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值