諸如下面的while循環,循環内有個配置設定記憶體的語句。
while(1)
{
char command[100];
printf("請輸入指令:>");
memset(command,0,100);
gets(command);
printf("%s/n",command);
}
那麼它是每次都配置設定記憶體,還是隻配置設定一次記憶體呢?
經過驗證發現,每當程式執行到右大括号時,command指向的記憶體都被釋放掉了,然後重新執行到char command[100]時,系統又重新給程式配置設定了記憶體。但是需要注意的是,在程式每次運作過程中,程式使用的記憶體的其實位址都是一樣的。也就是說每次配置設定了相同位置的記憶體。