形參占用存儲單元嗎 函數(shù)中未指定存儲類別的局部變量,其隱含的存儲類別為()?
函數(shù)中未指定存儲類別的局部變量,其隱含的存儲類別為()?全局變量的默認存儲類型是extern,而局部變量的默認存儲類型是auto。函數(shù)中聲明的變量是局部變量。因此,原標題中的句子“沒有在函數(shù)中指定存儲
函數(shù)中未指定存儲類別的局部變量,其隱含的存儲類別為()?
全局變量的默認存儲類型是extern,而局部變量的默認存儲類型是auto。函數(shù)中聲明的變量是局部變量。因此,原標題中的句子“沒有在函數(shù)中指定存儲類別的全局變量”是有問題的。記?。喝肿兞客獠烤植孔兞孔詣?/p>
全局變量是靜態(tài)的,不管它們是否被指定。如果局部變量未指定存儲類別,則默認為自動
全局變量的默認存儲類型為extern,而局部變量的默認存儲類型為auto。函數(shù)中聲明的變量是局部變量。因此,原標題中的句子“沒有在函數(shù)中指定存儲類別的全局變量”是有問題的。
記?。?/p>
全局變量extern
局部變量auto
堆棧區(qū)域,或CPU通用寄存器
!你知道CPU嗎???CPU核心將有一個名為SP的寄存器,它存儲堆棧的頂部地址。所有局部變量和中間數(shù)據(jù)都存儲在這里。當程序調用函數(shù)時,SP指針將增加堆棧使用的所有臨時內存的長度,并且局部變量也在其中。當函數(shù)退出時,SP將恢復到原始值,這樣被調用函數(shù)使用的所有臨時數(shù)據(jù)也將根據(jù)所有的釋放保存。。。當然,它也存在于CPU的通用寄存器中,因為有些CPU有大量的工作寄存器。如果局部變量不多,則直接放在寄存器中而不是內存中,這也提高了執(zhí)行速度。。。內存分配需要取地址和寫內存,步驟很多。而且,內存操作沒有寄存器塊,所以如果有足夠的工作寄存器,就會有工作寄存器(當然,根據(jù)編譯器的說法,編譯器通常會仔細考慮,使速度盡可能快)