[問題] C語言的問題

看板C_and_CPP (C/C++)作者 (歐匹哭)時間16年前 (2009/09/24 08:51), 編輯推噓4(4010)
留言14則, 6人參與, 最新討論串1/2 (看更多)
我有一個.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

09/24 08:54, , 1F
乍看之下是call by valye與call by reference的問題.
09/24 08:54, 1F

09/24 08:54, , 2F
但是c沒有call by reference, 所以請用傳address做.
09/24 08:54, 2F

09/24 08:54, , 3F
反過來說, 既然只是一個count, 為什麼不用function的
09/24 08:54, 3F

09/24 08:55, , 4F
return value來收就好....~_~
09/24 08:55, 4F

09/24 09:03, , 5F
因為這個.c那個檔是用來整合其他子程式的
09/24 09:03, 5F

09/24 09:04, , 6F
count只是其中一個變數而已 還有其他東西也要傳
09/24 09:04, 6F

09/24 10:52, , 7F
.h 怎麼會有運算...?
09/24 10:52, 7F

09/24 10:56, , 8F
function實作寫在.h裡的意思吧.
09/24 10:56, 8F

09/24 11:06, , 9F
兩個問題解法同一樓說的用return value 就解決了
09/24 11:06, 9F

09/24 11:11, , 10F
一般設計程式應該.h宣告 .c寫實作這樣子比較好
09/24 11:11, 10F

09/24 11:35, , 11F
搞不好是template function...
09/24 11:35, 11F

09/24 11:36, , 12F
如果還有要return其他東西, 就傳address/pointer進去吧.
09/24 11:36, 12F

09/24 11:38, , 13F
應該說是function template....
09/24 11:38, 13F

09/24 12:15, , 14F
.h 做運算.... 我覺得原po該先把一些基本概念弄清楚
09/24 12:15, 14F
文章代碼(AID): #1AkiAH57 (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1AkiAH57 (C_and_CPP)