標籤

二元樹 (1) 字串常數池 (1) 投資 (3) 每月損益 (37) 例外處理 (1) 泛型 (2) 股票 (15) 指標 (5) 英文 (8) 基本資料型別 (1) 期貨 (1) 程式交易 (10) 量化投資 (5) 亂亂寫 (3) 概念 (3) 資料結構 (3) 演算法 (3) 數學 (3) 轉型 (1) AMA (1) ArrayList (1) assert (1) BeautifulSoup (1) C/C++ (8) casting (1) ClassCastException (1) classpath (1) Collection (4) Comparable (1) comparTo() (1) constructor (1) database (3) Debian (1) Dropbox (2) EA (2) enum (1) equals() (2) exception (3) extends (1) ffmpeg (1) final (1) Git (1) HashMap (1) HashSet (1) hasNext() (1) HTS (3) instanceof (1) IS-A (1) Iterator (1) JAVA (43) length (1) Linux (31) List (1) Mac (6) Map (1) ML (2) MT4 (6) MySQL (2) next() (1) NullPointerException (1) Number (1) Numpy (2) OpenCart (1) OpenCV (3) OSX (1) overloading (1) overriding (3) pandas (2) PHP (8) PriorityQueue (1) Python (11) Queue (1) random() (1) reverse() (1) Samba (1) SCJP (21) sqrt() (1) synchronized (1) talib (1) ufw (1) uTorrent (1) var-args (2) VHF (1) vim (2) Yhoo知識+ (4)

2011年11月26日 星期六

111028_C_malloc()_動態記憶體配置

malloc()簡單的說就是跟系統要空間,若成功會回傳一個指標,指出該空間的記憶體位置;因回傳的是一個void *,必須指定它的型態,在前面加上如(int *)來指定;若不成功則回傳null。

//跟系統要一個整數大小的記憶體空間
int* a;
a = (int *)malloc(sizeof(int));   //告訴系統這空間是要存放整數

//跟系統要一個字元大小的記憶體空間
char* ch;
ch = (char *)malloc(sizeof(int));      //告訴系統這空間是要存放字元

//如果直接寫大小一定要寫對
int* a;
a = (int *)malloc(1);    //如果是整數卻配1個byte,編譯器會把後面3個byte直接拿來存取,然後系統就當機給你看

//要一個長度為10的整數陣列
int* a;
a = (int*)malloc(sizeof(int) * 10);


參考資料:這裡,跟這裡

沒有留言:

張貼留言