陣列問題 |
答題得分者是:RaynorPao
|
JASONWAR
一般會員 發表:8 回覆:21 積分:5 註冊:2002-08-31 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: x[7]={0}這個敘述的7是常數,但我想用變數取代如n,不知各位前輩 有何高見~~像以下這樣的寫法(跟你的寫法一樣) #define MAX_COUNT 7 char szBuf[MAX_COUNT]={0};是屬於靜態記憶體配置 也就是說~~你要 create 陣列的個數 事先就已經確定了 但是~~如果一開始無法決定陣列的個數 而要等到 run time 時才會知道,該怎麼辦呢?? 像以下這樣的寫法(動態配置記憶體) // 假設 nCount 的值已經動態計算出來 char *szBuf=NULL; szBuf=(char*)CoTaskMemAlloc(sizeof(char)*nCount); ............ CoTaskMemFree(szBuf); // 備註: 也可以用 new 跟 delete不過~~除非你認為你必須控制你的 memory 到很精確的地步的話 也可以使用下面的寫法(第一種的改良) #define MAX_COUNT 1000 char szBuf[MAX_COUNT]={0};這種寫法的好處是不用再動態配置 memory 了 但是~~你必須事先確定 szBuf 的 size 不會超過 1000
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |