const和typedef一起使用

typedef char *cstring;
在以下声明中cstr 的类型是什么
extern const cstring cstr;
第一个回答差不多都是
const char *cstr

即指向const 字符的指针但是这 这是不正确的const 修饰cstr 的类型。注意typedef不是define简单的展开。typedef后,cstring是一个助记符,是一个整体,是一个类型。
应该理解为:
typedef   char*   Type;
const   Type   data;   ==   char*   const   data;

分析时候注意就近原则,为方便理解类型是可去掉的。
const int * p;  ----〉const *p
int * const p;  ----->* const p

比较指针数组和数组指针的声明,可同时理解运算符结合次序,来理解p到底是何物
int *p[];// 数组
int (*p)[];//指针
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值