[問題] 宣告的弔詭?

看板C_and_CPP (C/C++)作者 (破執)時間15年前 (2010/10/23 00:48), 編輯推噓3(303)
留言6則, 5人參與, 最新討論串1/1
假如說 宣告一個變數i int i=0; 如果再宣告一次 int i=0; int i=0; 這樣子是不行的,會被gcc編譯器阻止。 但是這樣呢? while(1){ int i=0; } 就可以通過gcc編譯器的考驗。 換成 int i=0; while(1){ int i=0; } 初步推估,這是編譯器所作的optimization 在迴圈內宣告將只視為一次。 不知道這樣思考有沒有錯呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.68.5

10/23 00:49, , 1F
scope根本不同
10/23 00:49, 1F

10/23 00:51, , 2F
原來如此,了解了
10/23 00:51, 2F

10/23 08:47, , 3F
而且那不只是宣告 不然你可以試著寫兩次 extern int i;
10/23 08:47, 3F

10/23 09:38, , 4F
GCC編譯器居然受到質疑XD
10/23 09:38, 4F

10/23 09:42, , 5F
宣告跟定義分不清楚
10/23 09:42, 5F

10/23 09:54, , 6F
宣告跟定義分不清楚
10/23 09:54, 6F
文章代碼(AID): #1CmS1I5U (C_and_CPP)
文章代碼(AID): #1CmS1I5U (C_and_CPP)