C语言字符指针

字符指针

char* ps = "hello bit" ;
//本质上是把"hello bit"这个字符串的首字符的地址存储在了ps中,跟字符数组不一样
printf ("%c\n", *ps) ;		//结果是字符h

用字符指针指向的字符串是常量字符串,是不能改的,如*ps = 'w’是不可以的

char arr[] = "hello bit" ;	//是真的把该字符串存到一个数组中
//只不过两者的访问形式都一样,都可打印“hello bit”
printf("%s\n", ps);
printf ("%s\n", arr);

char str1[]= "hello bit. " ;char str2[]= "hello bit. " ;
char* str3 = "hello bit. " ;char* str4 = "hello bit.";
//结果是:str1 != str2,str3 == str4;

因为str1和str分别是两个不同的字符数组,数组内容都是"hello bit.",但str1指向的地址和str2指向的地址不一样;而str3和str4指向的都是常量字符串,因为不能改,所以内存中只有一份,str3和str4同时指向常量字符串的首地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值