char const * , const char *, 和char *const 的区别

1.char const *p 和 const char*p

‌在C语言中,char const *p 和 const char*p 是等价的,都表示指向常量的指针。(等同于定义一个指向字符常量的指针

char const * 和 const char * 是完全相同的声明方式,只是const的位置不同。

根据C语言的语法规则,const 可以放在类型和指针之间,也可以放在类型之前。例如:

  • char const *ptr = "Hello";
  • const char *ptr = "Hello";

意味着指针所指向的字符不能通过该指针进行修改,但指针本身可以指向其他地址‌。

2.char *const ptr  

char *const ptr  表示定义了一个指向字符的指针,这个指针的指向是常量,即不能改变指针的指向,但可以修改指针指向的内容。

3.使用场景‌:

当需要确保指针的指向不变,但需要修改指针指向的内容时,使用 char *const ptr

当需要频繁改变指针的指向,但保证不通过该指针修改其指向的内容时,使用 const char *ptr 或 char const *ptr

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值