[問題] C程式2種的寫法不同點

看板Programming作者 (leemack)時間7年前 (2017/12/08 13:57), 編輯推噓3(3017)
留言20則, 9人參與, 7年前最新討論串1/1
第一種 #include <> int cc; main() { while(1) { cc=1; ... } } 第一種 #include <> int cc; main() { while(1) { cc=1; ... } } 第二種 #include <> //int cc; main() { while(1) { int cc=1; ... } } 第二種是否比較不好? ex效率, 記憶體... 3q -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.150.163 ※ 文章網址: https://www.ptt.cc/bbs/Programming/M.1512712679.A.0AE.html

12/08 16:14, 7年前 , 1F
全域變數跟區域變數別同名比較好
12/08 16:14, 1F

12/08 16:15, 7年前 , 2F
不然大專案時,debug都會搞不清是哪個
12/08 16:15, 2F

12/08 16:15, 7年前 , 3F
每一次迴圈都要重新宣告int,當然慢
12/08 16:15, 3F

12/08 16:18, 7年前 , 4F
不過我寫C#,沒有測過在C裡面一不一樣
12/08 16:18, 4F

12/08 16:46, 7年前 , 5F
delphi轉行寫C?
12/08 16:46, 5F

12/08 17:54, 7年前 , 6F
C 不會因為重新宣告浪費時間
12/08 17:54, 6F

12/08 17:54, 7年前 , 7F
宣告變數所用的空間在編譯時就規劃好了
12/08 17:54, 7F

12/08 17:55, 7年前 , 8F
實際執行到那裡時只是個形式上的"我要用了"
12/08 17:55, 8F

12/08 17:56, 7年前 , 9F
但那地方本來就是規劃給他的所以也不用做啥
12/08 17:56, 9F

12/08 17:56, 7年前 , 10F
C++ 就不一樣了, 物件可能包含初始化動作
12/08 17:56, 10F

12/08 17:57, 7年前 , 11F
這就會回到三樓說的"重新", 但不是重新宣告
12/08 17:57, 11F

12/08 17:57, 7年前 , 12F
而是重新初始化
12/08 17:57, 12F

12/09 09:36, 7年前 , 13F
第一種竟然寫到兩次 真是太恐怖惹
12/09 09:36, 13F

12/10 05:28, 7年前 , 14F
以int來說,現代編譯器産出的組語效率是
12/10 05:28, 14F

12/10 05:30, 7年前 , 15F
一樣的,但全域變數有缺點,一般推薦用區
12/10 05:30, 15F

12/10 05:30, 7年前 , 16F
域變數。
12/10 05:30, 16F

02/01 07:59, 7年前 , 17F
一樣
02/01 07:59, 17F

02/03 18:24, 7年前 , 18F
一般大學一開始就會教你不要用全域
02/03 18:24, 18F

04/14 00:01, 7年前 , 19F
第二種比較好 安全上好 效率上也可能稍好
04/14 00:01, 19F

04/14 00:02, 7年前 , 20F
當然這麼小的程式都沒差就是了XD
04/14 00:02, 20F
文章代碼(AID): #1QAYdd2k (Programming)
文章代碼(AID): #1QAYdd2k (Programming)