作者leemack (leemack)
看板Programming
標題[問題] C程式2種的寫法不同點
時間Fri Dec 8 13:57:56 2017
第一種
#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://webptt.com/m.aspx?n=bbs/Programming/M.1512712679.A.0AE.html
1F:→ stupid0319: 全域變數跟區域變數別同名比較好 122.117.78.26 12/08 16:14
2F:→ stupid0319: 不然大專案時,debug都會搞不清是哪個 122.117.78.26 12/08 16:15
3F:→ zo6596001: 每一次迴圈都要重新宣告int,當然慢 61.216.97.212 12/08 16:15
4F:→ zo6596001: 不過我寫C#,沒有測過在C裡面一不一樣 61.216.97.212 12/08 16:18
5F:→ annies5: delphi轉行寫C? 59.124.234.254 12/08 16:46
6F:推 LPH66: C 不會因為重新宣告浪費時間 140.112.30.32 12/08 17:54
7F:→ LPH66: 宣告變數所用的空間在編譯時就規劃好了 140.112.30.32 12/08 17:54
8F:→ LPH66: 實際執行到那裡時只是個形式上的"我要用了" 140.112.30.32 12/08 17:55
9F:→ LPH66: 但那地方本來就是規劃給他的所以也不用做啥 140.112.30.32 12/08 17:56
10F:→ LPH66: C++ 就不一樣了, 物件可能包含初始化動作 140.112.30.32 12/08 17:56
11F:→ LPH66: 這就會回到三樓說的"重新", 但不是重新宣告 140.112.30.32 12/08 17:57
12F:→ LPH66: 而是重新初始化 140.112.30.32 12/08 17:57
13F:→ MOONRAKER: 第一種竟然寫到兩次 真是太恐怖惹 218.161.46.90 12/09 09:36
14F:推 tailau0: 以int來說,現代編譯器産出的組語效率是 93.158.57.135 12/10 05:28
15F:→ tailau0: 一樣的,但全域變數有缺點,一般推薦用區 93.158.57.135 12/10 05:30
16F:→ tailau0: 域變數。 93.158.57.135 12/10 05:30
17F:推 os369510: 一樣223.136.116.232 02/01 07:59
18F:→ qwer87511: 一般大學一開始就會教你不要用全域 1.171.145.23 02/03 18:24
19F:→ pnpncat: 第二種比較好 安全上好 效率上也可能稍好 1.162.102.181 04/14 00:01
20F:→ pnpncat: 當然這麼小的程式都沒差就是了XD 1.162.102.181 04/14 00:02