void *calloc(size_t nobj, size_t size);
分配足夠的記憶體給nobj個大小為size的物件組成的陣列, 並返回指向所分配區域的第乙個位元組的指標;
若記憶體不夠,則返回null. 該空間的初始化大小為0位元組.
char*p
=(char
*) calloc(
100,
sizeof
(char
));
void *malloc(size_t size);
分配足夠的記憶體給大小為size的物件, 並返回指向所分配區域的第乙個位元組的指標;
若記憶體不夠,則返回null. 不對分配的空間進行初始化.
char*p
=(char
*) malloc(
sizeof
(char
));
void *realloc(void *p, size_t size);
將p所指向的物件的大小改為size個位元組.
如果新分配的記憶體比原記憶體大, 那麼原記憶體的內容保持不變, 增加的空間不進行初始化.
如果新分配的記憶體比原記憶體小, 那麼新記憶體保持原記憶體的內容, 增加的空間不進行初始化.
返回指向新分配空間的指標; 若記憶體不夠,則返回null, 原p指向的記憶體區不變.
char*p
=(char
*) malloc(
sizeof
(char
));p=(
char
*) realloc(p,
256);
void free(void *p);
釋放p所指向的記憶體空間; 當p為null時, 不起作用.
p必先呼叫calloc, malloc或realloc.
分配記憶體空間
void calloc size t nobj,size t size 分配足夠的記憶體給nobj個大小為size的物件組成的陣列,並返回指向所分配區域的第乙個位元組的指標 若記憶體不夠,則返回null.該空間的初始化大小為0位元組.char p char calloc 100,sizeof cha...
C 記憶體空間
乙個c 程式編譯後占用的記憶體分為如下幾個部分 棧 由編譯器自動分配釋放,存放函式的引數值,區域性變數的值。在乙個程序中,位於使用者虛擬位址空間頂部的是使用者棧,編譯器用它來實現函式的呼叫。堆 由程式設計師分配和釋放,若程式設計師不釋放,則程式結束時被os 存放由new,malloc分配的記憶體,可...
c 記憶體空間
題目 若char是一位元組,int是4位元組,指標型別是4位元組,如下 class ctest virtual void mem fun private char m chdata int m ndata static char s chdata char ctest s chdata 0 靜態成員...