C++中typedef的用法是什么?

typedefchar*cstring;externconstcstring;//已知上面的定义,cstr的类型是下面哪个?请说下原因,谢谢!!constchar*cst... typedef char *cstring;
extern const cstring;
//已知上面的定义,cstr的类型是下面哪个?请说下原因,谢谢!!
const char *cstr;
char *const cstr;
哦,不好意思,少打字了,上面第二行应该是:
extern const cstring cstr;
展开
 我来答
义昀欣ek
2010-07-30 · TA获得超过3298个赞
知道小有建树答主
回答量:6776
采纳率:0%
帮助的人:2168万
展开全部
const char *cstr;意思是,cstr是一个指针,这个指针指向一个字符常量。指针指向的内容不可变。
char *const cstr;意思是,cstr是一个常量指针,它指向一个字符。指针本身不可变,指向的内容可变。

typedef char *cstring;定义了一个字符指针类型cstring。
extern const cstring;
这里需要考虑了,cstring到底是一个常量指针呢?还是一个指向常量的指针?因为cstring代表的是一个指针类型,const修饰的是这个指针本身,所以,这是一个常量指针。它等价于char *const cstr;
px_jy
2010-07-30 · TA获得超过218个赞
知道小有建树答主
回答量:88
采纳率:0%
帮助的人:123万
展开全部
cstr类型为char *const,而不是const char *,原因在于const给予了整个指针本身以常量性,也就是形成了常量指针char* const。
简单来说,记住当const和typedef一起出现时,typedef不会是简单的字符串替换就行。 参考资料有typedef的详细用法,希望对你有用!

参考资料: http://faq.csdn.net/read/217385.html

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
应孝后妆
2020-04-24 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.4万
采纳率:26%
帮助的人:717万
展开全部
typedef是重命名的意思,就是一个东西起两个名字。比如:
typedef
height
int;
height
a;
就是
int
a;的意思,之所以用height,是因为height这时还可以表示高度的意思
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式