C_and_CPP 板


LINE

 首先,感谢阿蓉的爱前辈,我觉得我可能有多了解 typedef 一点点,  但我还是想再多问一些观念...  我试着改写了一下程式: ========================================================== #include <iostream> using std::cin; using std::cout; using std::endl; int main() { int ia[3][4] = {0,1,2,3,4,5,6,7,8,9,10,11}; typedef int (*array_ptr)[4]; // 这两行是修改的部份 array_ptr ap = ia; // 我把指标移入了 typedef 中 for(int i=0;i<4;i++) cout << (*ap)[i] << " "; // 这里是 access 第一行四个元素的程式 // 执行结果会是 0 1 2 3 cout << endl; system("pause"); return 0; } ==========================================================  在 array_ptr 宣告的那一句,整个丢进去上面那行然後去掉typedef,  的确就套进去了,但是,如果套到另一个常见的 typedef 问题: typedef int* intP; const intP p2; 又有点儿套不好,他是 int* const p2 的意思... typedef 後头接的型态 (int *),就是用 intP 宣告会产生的型态,  而使用 typedef 後的自订型态来宣告,还可以透过 const 或 * 再进一步修饰,  经由多个例子的归纳,我似乎可以感应到 typedef 各种用法的意思,  但是它究竟实际上的运作全貌,却还是很模糊... #define、macro,跟 typedef 之间决定性的不同,到底该怎麽说清楚呢 /"\a? ※ 引述《QQ29 (我爱阿蓉)》之铭言: : 其实之前一直把typedef看成类似 define这样字串取代 : 结果只能看懂简单的 : typedef int INT; : http://ehome.hifly.to/showthread.php?s=&threadid=132 : 看了这网页的例子 : 以後看到typedef都把它看成 : typedef int int_array[4]; ← : int_array *ip = ia; : ^^^^整个丢进去上面那行 然後去掉typedef : 就变成 int (*ip)[4]; 其实就是你写的那样了 : 这个看法所有奇怪的typedef都可以这样套进去 : 还满好理解的.. : ※ 引述《archon (三脚猫的把戏)》之铭言: : : int ia[3][4]; : : int (*ip)[4] = ia; : : ip = &ia[2]; : : 以上的语法我觉得是蛮直觉的,但是... : : typedef int int_array[4]; ← : : int_array *ip = ia; : : 我始终对 typedef 那一行很困惑... : :  为什麽它不是 typedef int[4] int_array; 呢... : :  这个玩意儿,是本来就如此,还是说可以有一个比较令人心安的解释呢... : :  小的斗胆,有请各位大大解惑... <(_ _)> --  追根究底所得到的东西,是失望的观众,以及狼狈的魔术师... De'Ring Practice http://www.wretch.cc/blog/miauwally/21246514 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.24.8.187
1F:推 QQ29:typedef真的不是macro 不要那样想 会很死 10/15 03:57
2F:推 Ebergies:我想推「感应到 typedef 各种用法的意思」lol 10/15 09:44







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Gossiping站内搜寻

TOP