Re: [問題] 亂數設SEED

看板C_and_CPP (C/C++)作者 (☆㊣↖煞氣ㄟ阿喂↘ξ★)時間16年前 (2010/01/29 19:01), 編輯推噓0(008)
留言8則, 4人參與, 最新討論串2/2 (看更多)
很抱歉再次叨擾, 與版友們經過討論後,我稍微整理一下我的問題: 1. 為何在全域時 initial compiler會過assign不行? ex: (1.) long *idum = (long *)malloc(sizeof(long)); //// OK! (2.) long *idum; idum = (long *)malloc(sizeof(long)); //// Compiler Error 2. 承上,又為何initial後,idum 指向得到的一塊記憶體空間, 這塊記憶體空間不能在全域被assign? ex: long *idum = (long *)malloc(sizeof(long)); *idum = SEED; //// Compiler Error 而必須寫在main內: ex: long *idum = (long *)malloc(sizeof(long)); int main(){ ...... *idum = SEED; .... } 3. 全域應該不只有定義跟宣告吧? 做像malloc、數學運算(eg: sin(), cos(), exp()等)應該無礙。 不好意思,我程度不好,希望各位指點一下。謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.144.18 ※ 編輯: kkroy 來自: 140.113.144.18 (01/29 19:06)

01/29 19:47, , 1F
可以在定義的時候給初值阿=_=|||
01/29 19:47, 1F

01/29 19:48, , 2F
但是你在全域呼叫printf就不能了
01/29 19:48, 2F

01/29 20:05, , 3F
樓上的, 放行int i = printf("XD\n");在全域看看
01/29 20:05, 3F

01/29 20:27, , 4F
那樣就是定義了阿~
01/29 20:27, 4F

01/29 20:28, , 5F
只問一個最簡單的問題: 這個敘述什麼時候要執行?
01/29 20:28, 5F

01/29 20:29, , 6F
只呼叫函式的話是行不通的
01/29 20:29, 6F

01/29 20:36, , 7F
瞭解了,謝謝 LPH66,如果放在global不是initial
01/29 20:36, 7F

01/29 20:36, , 8F
不知道何時要執行assign的動作,對吧? 謝謝你!
01/29 20:36, 8F
文章代碼(AID): #1BOh_kCT (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1BOh_kCT (C_and_CPP)