[討論] 宣告同時給初值
其實比較像閒聊啦, 不過這邊沒有閒聊可以選
最近發現兩種coding style
第一種是會在函數前面宣告變數, 等到要用到的時候才給他初值
比如
int func()
{
int var;
/*Other code
Other code
Other code*/
var = somevalue;
/*some to process var
some to process var*/
}
第二種是
宣告就同時給值
比如
int func()
{
int var = somevalue;
/*Other code
Other code
Other code*/
/*some code to process var
some code to process var*/
}
我想這兩種寫法應該是都可以, 只跟可讀性有關吧?
但是這邊的可讀性又不是會看不下去那種, 只是習慣問題.
不知道大家的習慣如何?
====
補充一下
我看到第二種寫法那套code 他連for loop一定先給值
他的for loop 會這樣寫
int func()
{
int i = 0;
/*other code*/
for (; i < MAX; i++)
{
/*do something*/
}
}
所以這樣是比較嚴謹的方法嗎?
可以避免i 沒有宣告到之類的
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.222.81.253
→
06/02 15:09, , 1F
06/02 15:09, 1F
→
06/02 15:35, , 2F
06/02 15:35, 2F
推
06/02 15:35, , 3F
06/02 15:35, 3F
→
06/02 15:35, , 4F
06/02 15:35, 4F
※ 編輯: wzbird 來自: 61.222.81.253 (06/02 15:48)
→
06/02 16:07, , 5F
06/02 16:07, 5F
→
06/02 16:08, , 6F
06/02 16:08, 6F
→
06/02 16:08, , 7F
06/02 16:08, 7F
→
06/02 16:09, , 8F
06/02 16:09, 8F
→
06/02 16:44, , 9F
06/02 16:44, 9F
我剛剛試了, 在for裡面宣告, 果然被gcc罵了 Q_Q
error: 'for' loop initial declaration used outside C99 mode
所以C90不允許在for 才中宣告變數
但是第二種style 又習慣在宣告就給初值, 所以才把for的值也提到function 最前面
讓for的第一個欄位留空白
※ 編輯: wzbird 來自: 61.222.81.253 (06/02 16:58)
→
06/02 17:17, , 10F
06/02 17:17, 10F
→
06/02 17:18, , 11F
06/02 17:18, 11F
→
06/02 17:18, , 12F
06/02 17:18, 12F
※ 編輯: wzbird 來自: 61.222.81.253 (06/02 17:23)
→
06/02 17:23, , 13F
06/02 17:23, 13F
→
06/02 17:24, , 14F
06/02 17:24, 14F
→
06/02 18:42, , 15F
06/02 18:42, 15F
→
06/02 18:42, , 16F
06/02 18:42, 16F
→
06/02 19:08, , 17F
06/02 19:08, 17F
→
06/02 19:09, , 18F
06/02 19:09, 18F
→
06/02 19:48, , 19F
06/02 19:48, 19F
推
06/02 20:26, , 20F
06/02 20:26, 20F
→
06/02 20:47, , 21F
06/02 20:47, 21F
→
06/02 22:26, , 22F
06/02 22:26, 22F
→
06/02 23:00, , 23F
06/02 23:00, 23F
→
06/02 23:01, , 24F
06/02 23:01, 24F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章