c語言什麼函函式最吃記憶體?

時間 2021-05-30 18:20:02

1樓:0x76

我來寫乙個多執行緒版的爆記憶體。

#include

#include

void

f_m()

}void

*boom

(void

*args

)int

main()

2樓:NoneType

#include

#include

#include

int main() {

void* ptr;

forptr = malloc(1ULL << 18memset(ptr, -1, 1ULL << 18

3樓:程式設計思維

你這個程式只是使用了兩個二維陣列,分別是a(占用400個位元組)和r(占用80個位元組),而且還都是在棧中分配的,整個迴圈中沒有要求分配更多的記憶體,所以實際上整個程式也就使用了這一點點記憶體而已。

要想吃記憶體,就要使用malloc函式來動態分配。可以使用迴圈來配合malloc函式,試試你最多能吃掉(成功分配)多少記憶體?

4樓:lightning

計算機有兩方面記憶體,乙個是堆區記憶體,可以用malloc函式吃記憶體,乙個是棧區記憶體,可以用死迴圈吃記憶體,比如說:

while(1)

double d[1024 * 100]; //吃棧區void * p = malloc(1024 * 1024); //吃堆區

執行程式後開啟任務管理器,看一下CPU和記憶體的使用率乛v乛

C 語言中指標陣列和陣列指標 函式指標 指向函式的指標等等該怎麼理解?

ga6840 direct declarator IDENTIFIER declarator direct declarator direct declarator assignment expr direct declarator declarator direct declarator poin...

為什麼C語言要有 int 作為 main 函式的返回值,而不是 void?

main函式的返回值會被shell捕獲,並存到乙個環境變數中。在一些main loop結構的嵌入式系統中,main的返回值沒太有意義,因為嵌入式系統的軟體不會結束 上電後一直執行 或者在一些練習性質的程式中,我們也不太關注main函式的返回值。linux系統有個設計理念 乙個程式只做一件事情,並把它...

為什麼C語言中的這個myputs函式不能執行?

引數型別不對 變數型別是按右左法則來看的,從變數名往右看,看完再往左看,如此往復 char str,str右邊是,說明str是陣列,再往左看,是 說明陣列元素是指標 也就是str是個存放char指標的陣列 然後函式裡的引數比較特殊,陣列會退化成指標 所以這麼寫的str就是個char 而已,和傳進去的...