天天看點

while循環中的記憶體配置設定問題

諸如下面的while循環,循環内有個配置設定記憶體的語句。

while(1)

 {

      char command[100];

      printf("請輸入指令:>");

      memset(command,0,100);

      gets(command);

      printf("%s/n",command);

}

那麼它是每次都配置設定記憶體,還是隻配置設定一次記憶體呢?

      經過驗證發現,每當程式執行到右大括号時,command指向的記憶體都被釋放掉了,然後重新執行到char command[100]時,系統又重新給程式配置設定了記憶體。但是需要注意的是,在程式每次運作過程中,程式使用的記憶體的其實位址都是一樣的。也就是說每次配置設定了相同位置的記憶體。