[分享] C 語言常見誤解

看板C_and_CPP作者 (小西風最乖了*^^*)時間14年前 (2011/09/06 03:46), 編輯推噓26(26030)
留言56則, 28人參與, 最新討論串1/2 (看更多)
最近和 littleshan 一起針對寫 C 寫一段時間的程式設計師寫一篇文章。 (意思就是不適合初學者讀...)文章相當冗長,必定有很多錯誤,還請各位不 吝指教謝謝! https://docs.google.com/document/d/12cR0qb-kl7jB8RA_eHQu8OSmGKEOshwLeX4Mx5qBzUE/edit -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.39 ※ 編輯: Favonia 來自: 140.112.30.39 (09/06 11:58)

09/06 12:00, , 1F

09/06 12:18, , 2F
看過目錄,大推!不過google文件一直出包 XD
09/06 12:18, 2F

09/06 13:37, , 3F
版主,這篇可以收錄精華區嘛? 還有Favonia,如果看到文字
09/06 13:37, 3F

09/06 13:37, , 4F
有錯,要怎麼通知你.
09/06 13:37, 4F
只要聯絡得到我或 littleshan 就行呀,或是推文也行。其實第一頁有寫 email 地址(慢慢讀應該看得懂?xDD)

09/06 14:15, , 5F
大推呀~
09/06 14:15, 5F

09/06 14:27, , 6F
這篇好難
09/06 14:27, 6F

09/06 14:46, , 7F
這篇真的好讚
09/06 14:46, 7F

09/06 14:47, , 8F
我誤會的事情比想像中的還要多啊....XD
09/06 14:47, 8F

09/06 14:56, , 9F
james732,好多東西無法理解,頭好痛~"~
09/06 14:56, 9F
有可能是我們寫得太差 orz

09/06 15:02, , 10F
對了,1E1snMFF這篇的內容應該也可以收錄一下?
09/06 15:02, 10F

09/06 15:09, , 11F
樓上 這篇有提到"不可以宣告大小為0的陣列"呀
09/06 15:09, 11F

09/06 15:11, , 12F
我看到了,感謝樓上提醒 XD
09/06 15:11, 12F

09/06 15:17, , 13F
已收錄到z-2-2, 看完覺得有點奇怪,不過懶得再看規格
09/06 15:17, 13F

09/06 15:18, , 14F
書了...
09/06 15:18, 14F
感謝版主。不過我發現那目錄是給初學者看的,這樣會不會嚇跑太多人 lol 這篇文章把比較簡單的問題都去掉了。

09/06 15:23, , 15F
版主辛苦了
09/06 15:23, 15F

09/06 15:43, , 16F
不會辛苦呀~ 原po才是
09/06 15:43, 16F

09/06 16:54, , 17F
不錯!雖然真的要全面 follow 有點難度
09/06 16:54, 17F

09/06 17:04, , 18F
F大辛苦了,我只是出一張嘴負責問問題而已 (無誤
09/06 17:04, 18F
你明明也有寫 xD ※ 編輯: Favonia 來自: 140.112.30.39 (09/06 18:49) ※ 編輯: Favonia 來自: 140.112.30.39 (09/06 18:49) ※ 編輯: Favonia 來自: 140.112.30.39 (09/06 19:05)

09/06 19:24, , 19F
應該說,每看一段,就要翻兩三次標準書.很頭痛.~"~
09/06 19:24, 19F

09/06 19:47, , 20F
我差點被註6嚇到了... 一個位元組不等於8個位元...
09/06 19:47, 20F

09/06 20:19, , 21F
我有一個疑惑 如果sizeof(int32_t) 不是4的話
09/06 20:19, 21F

09/06 20:19, , 22F
那sizeof(int8_t)會是什麼...
09/06 20:19, 22F
編譯器不一定會提供這些型態(尤其在那些比較少見的實作裡面)。所以有 兩種結局,第一種是編譯器不提供所以編譯錯誤 xD (但這應該比執行到一半炸 掉好很多),第二種是答案是 1, 因為一個位元組至少要 8 位元,int8_t(如果 有提供的話)恰好 8 位元,唯一解是 1.

09/06 20:29, , 23F
我改一下目錄名稱好了XD
09/06 20:29, 23F

09/06 20:31, , 24F
我是覺得: 不用特地分新手老手啦
09/06 20:31, 24F
對了其實我很好奇版主覺得「奇怪」的地方是什麼 xD ※ 編輯: Favonia 來自: 140.112.30.39 (09/06 21:15)

09/06 22:25, , 25F
謝謝,辛苦了!!
09/06 22:25, 25F

09/06 22:36, , 26F
推一個 辛苦了!
09/06 22:36, 26F

09/06 22:47, , 27F
推,另外第5頁第2點是全域變數嗎?"很多實作"可以舉幾個例嗎?
09/06 22:47, 27F

09/06 22:50, , 28F
先推:)
09/06 22:50, 28F

09/06 23:03, , 29F
就像柯南常說的不協調感 ~"~
09/06 23:03, 29F

09/06 23:22, , 30F
是我系統有問題嗎? 作者那行是亂碼 orz
09/06 23:22, 30F

09/06 23:34, , 31F
有些是拉丁字母,有些是偏微分符號,字型只是普通的字型
09/06 23:34, 31F
那一行有很多奇怪的字母,理論上慢慢看可以看出兩個作者的姓名和 email xD

09/06 23:40, , 32F
推, 好文共賞.
09/06 23:40, 32F

09/06 23:42, , 33F
仔細一看還真的是 ... 不過華康中黑UN 有缺字就是了 orz
09/06 23:42, 33F

09/06 23:43, , 34F
文章看完覺得還是固守x86好了orz portable真困難 ...
09/06 23:43, 34F

09/06 23:44, , 35F
跟樓上有同感,我的程式可以在x86上穩定運作就很棒了 orz
09/06 23:44, 35F

09/06 23:46, , 36F
陷阱不是普通的多啊 XD
09/06 23:46, 36F

09/06 23:52, , 37F
感謝:D
09/06 23:52, 37F

09/07 00:04, , 38F
我認為能夠在大部分的正常運作就夠了 少部份就當作另一份
09/07 00:04, 38F

09/07 00:05, , 39F
處理就好了... 否則降低可讀性就反而不好...
09/07 00:05, 39F
嗯我覺得可攜寫法不一定會降低可讀性吧!像是我覺得文章中 malloc 的寫法 可攜又美觀,相當清楚。有什麼狀況非得用不可攜的方法來寫清楚的程式碼嗎?

09/07 11:56, , 40F
唸這本感覺就跟C traps and pitfalls 和 C-FAQ 一樣lol
09/07 11:56, 40F

09/07 12:03, , 41F
真的念懂了,對跨平台和可攜性的實作有幫助.
09/07 12:03, 41F
我很好奇你之前說發現錯誤是哪裡錯誤 xDDD 我想把他改掉~

09/07 12:04, , 42F
這份其實很適合印下來放在手邊,寫到某些奇怪程式碼時查
09/07 12:04, 42F

09/07 12:24, , 43F
連 JAVA 都常被酸 Debug Anywhere 了,很難想像 C 要做到
09/07 12:24, 43F

09/07 12:24, , 44F
難度得有多高
09/07 12:24, 44F

09/07 12:25, , 45F
打錯英文 Debug Everywhere
09/07 12:25, 45F

09/07 13:52, , 46F
先推再看!
09/07 13:52, 46F

09/07 15:05, , 47F
q
09/07 15:05, 47F

09/07 17:14, , 48F
一定要推一下
09/07 17:14, 48F

09/07 19:24, , 49F
看到一半就頭暈了@_@
09/07 19:24, 49F

09/07 22:27, , 50F
GJ!
09/07 22:27, 50F
※ 編輯: Favonia 來自: 140.112.30.39 (09/08 01:01) ※ 編輯: Favonia 來自: 140.112.30.39 (09/08 01:05) ※ 編輯: Favonia 來自: 140.112.30.39 (09/08 01:18) ※ 編輯: Favonia 來自: 140.112.30.39 (09/08 05:59)

09/08 08:37, , 51F
原po,我只是未雨綢繆.如果有錯.我早就告訴你了
09/08 08:37, 51F

09/14 13:30, , 52F
太精采了!感謝分享
09/14 13:30, 52F

11/26 13:29, , 53F
這一篇根本是密技 不推不行
11/26 13:29, 53F

08/25 14:49, , 54F
推!
08/25 14:49, 54F

10/07 16:45, , 55F
推!
10/07 16:45, 55F

06/30 11:25, , 56F
有人可以解釋 抽象機器 與真實機器的差別嗎? 看不太懂
06/30 11:25, 56F
文章代碼(AID): #1EPPULmS (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1EPPULmS (C_and_CPP)