作者QQ29 (我爱阿蓉)
看板C_and_CPP
标题Re: [语法] 关於 typedef 简化 多维Arrays 的指标...
时间Thu Oct 15 04:21:22 2009
※ 引述《archon (三脚猫的把戏)》之铭言:
: typedef int* intP;
: const intP p2;
: 又有点儿套不好,他是 int* const p2 的意思...
: typedef 後头接的型态 (int *),就是用 intP 宣告会产生的型态,
: 而使用 typedef 後的自订型态来宣告,还可以透过 const 或 * 再进一步修饰,
: 经由多个例子的归纳,我似乎可以感应到 typedef 各种用法的意思,
: 但是它究竟实际上的运作全貌,却还是很模糊...
: #define、macro,跟 typedef 之间决定性的不同,到底该怎麽说清楚呢 /"\a?
刚好我之前有再研究这种怪东西
纪录了一下
typedef char *cstring;
以下宣告的cstr是什麽型别?
extern const cstring cstr;
你可以试着想想看
答案是extern char * const cstr;
我觉得你就把修饰字 整个 一起套进去
const cstr整个带进去就会出来答案了....
真的做一下解释 extern const cstring cstr; 等同於extern cstring const cstr;
这要先知道
从右边读到左边 cstr 是一个const的 XXX(cstring type)
好 ~ cstring是什麽呢? 我用了typedef 定义他是char*
所以就变成 cstr是一个const的指标(*) 指向char
再翻成语言 char* const cstr;
最後extern再修饰这整块 结果答案是 extern char* const cstr;
一般人可能会猜 是extern const char * cstr;
我觉得这样解释你可以接受嘛@@
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.207.187
※ 编辑: QQ29 来自: 140.113.207.187 (10/15 04:21)
※ 编辑: QQ29 来自: 140.113.207.187 (10/15 04:25)
1F:推 archon:(笔记笔记) ~大感谢!!! 10/15 04:38
2F:→ archon:另外,我找到另一个很精彩的网页,分享给大家~~~ 10/15 04:39
4F:→ archon:typedef function 的部分,值得一看... A_A 10/15 04:41