字符串内容方便的更改方法

大家好,我是僵尸。

好久没有写c语言的代码了,最近要用到c语言,受了很多苦,记入一下关于字符串的操作。

void main()
{
    char *str1="僵尸字符串指针";
    char str2[]="僵尸字符串数组";
    //str2 = "新的僵尸字符串数组";//错误,数组元素存放类型错误
    str1 = "新的字符串指针";
    printf("%s\n", str1);//输出:新的字符串指针
}

字符串有两种声明方式,第一种是字符串数组声明,第二种是用字符串指针声明。


重点来了:

如果使用字符串数组声明,那么字符串就不能随意更改;

而使用指针就可以;

原因就是,字符串数组的数组名是--首地址,而数组名这个指针指向首地址是不可以更改的,这就导致了字符串不能更改;

而字符串指针就可以更改其指向的地址,所以,我们可以通过将支付穿指针从一个字符串首地址,更改指向到另外一个字符串的首地址,就可以实现对字符串的更改。


还有一个小问题,

都知道 * 指针 是取指针指向地址的内容,那么* 字符串指针=“更改的字符串”;合不合法呢?

答案是,不行

错误是将字符串全部放到了指针变量中,而指针只能存储地址。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值