作者opq77114 (歐匹哭)
看板C_and_CPP
標題[問題] C語言的問題
時間Thu Sep 24 08:51:28 2009
我有一個.c檔還有數個.h檔
在.c檔中的main function中宣告一個int count=0;
把這個count丟進其中一個.h檔裡做運算
但是.h檔執行完後回到.c檔的main function時 count是一開始的初始值0
要怎麼作才能讓它變成.h檔裡面運算的結果呢??
如果是丟一個陣列進去 回到.c檔的main function時 就不會回復成原來的初始值
兩者的差別是什麼??
麻煩幫我解答一下 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.39.165.82
1F:→ VictorTom:乍看之下是call by valye與call by reference的問題. 09/24 08:54
2F:→ VictorTom:但是c沒有call by reference, 所以請用傳address做. 09/24 08:54
3F:→ VictorTom:反過來說, 既然只是一個count, 為什麼不用function的 09/24 08:54
4F:→ VictorTom:return value來收就好....~_~ 09/24 08:55
5F:→ opq77114:因為這個.c那個檔是用來整合其他子程式的 09/24 09:03
6F:→ opq77114:count只是其中一個變數而已 還有其他東西也要傳 09/24 09:04
7F:推 dendrobium:.h 怎麼會有運算...? 09/24 10:52
8F:推 VictorTom:function實作寫在.h裡的意思吧. 09/24 10:56
9F:→ tomore:兩個問題解法同一樓說的用return value 就解決了 09/24 11:06
10F:→ tomore:一般設計程式應該.h宣告 .c寫實作這樣子比較好 09/24 11:11
11F:推 legendmtg:搞不好是template function... 09/24 11:35
12F:推 VictorTom:如果還有要return其他東西, 就傳address/pointer進去吧. 09/24 11:36
13F:→ legendmtg:應該說是function template.... 09/24 11:38
14F:→ adrianshum:.h 做運算.... 我覺得原po該先把一些基本概念弄清楚 09/24 12:15