我使用了以下代碼,但是top命令中的VIRT列顯示了分配的恒定內(nèi)存。
#include <stdio.h>
int main (int argc, char *argv[])
{
while(1)
{
int *pointer;
pointer = malloc(10 * sizeof(int));
*(pointer+3) = 99;
}
}
我使用了以下代碼,但是top命令中的VIRT列顯示了分配的恒定內(nèi)存。
#include <stdio.h>
int main (int argc, char *argv[])
{
while(1)
{
int *pointer;
pointer = malloc(10 * sizeof(int));
*(pointer+3) = 99;
}
}
公眾號(hào):1024技術(shù)圈
?? 提供互聯(lián)網(wǎng)知識(shí)和資訊,分享IT前沿技術(shù),熱門資源,大廠面試題 ??
你需要初始化內(nèi)存。
使用
memset
初始化內(nèi)存:您還可以使用
calloc
,它不僅可以分配內(nèi)存,還可以為您填充零:關(guān)于calloc:C庫(kù)函數(shù)void*calloc(size_tnitems,size_tsize)分配請(qǐng)求的內(nèi)存并返回指向它的指針。malloc和calloc的區(qū)別在于malloc沒有將內(nèi)存設(shè)置為零,而calloc將分配的內(nèi)存設(shè)置為零。