C語(yǔ)言每一次函數(shù)調(diào)用,編譯器都會(huì)為這個(gè)函數(shù)調(diào)用分配一段空間,這段空間用來(lái)存放該函數(shù)中的所有局部變量和調(diào)用其它函數(shù)時(shí)需要傳遞的參數(shù)的副本。每一次調(diào)用這個(gè)函數(shù),這段空間都會(huì)重新分配,函數(shù)返回后這段空間就被釋放了,所以重復(fù)調(diào)用多少次都不會(huì)影響的。所有的這些函數(shù)調(diào)用時(shí)候分配的內(nèi)存都是在線(xiàn)程的棧上的。

創(chuàng)新互聯(lián)公司主營(yíng)惠州網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶App定制開(kāi)發(fā),惠州h5成都微信小程序搭建,惠州網(wǎng)站營(yíng)銷(xiāo)推廣歡迎惠州等地區(qū)企業(yè)咨詢(xún)
順便說(shuō)一下,我覺(jué)得樓上的回答是不對(duì)的: 每個(gè)線(xiàn)程都只會(huì)訪(fǎng)問(wèn)自己調(diào)用的函數(shù)中的局部變量的,訪(fǎng)問(wèn)局部變量是不會(huì)存在多線(xiàn)程問(wèn)題的。會(huì)存在多線(xiàn)程問(wèn)題的肯定不是局部變量,有可能是局部變量指向的其它可共享的對(duì)象(例如:堆對(duì)象......),或者在函數(shù)中訪(fǎng)問(wèn)了全局對(duì)象,類(lèi)的成員變量等,這些并不是局部變量。
判斷是否已分配內(nèi)存可以測(cè)試指針是否為空,不為空則為已分配,具體可以使用sizeof函數(shù)。
1、假設(shè)使用c語(yǔ)言的動(dòng)態(tài)分配內(nèi)存函數(shù)malloc為指針p分配1000個(gè)int型的空間
int* p;
p = (int *) malloc (1000*sizeof(int)); //分配內(nèi)存
if (!p){ //判斷是否為空
printf("內(nèi)存未分配,指針為空!“);
exit(0);
}
printf("內(nèi)存已分配");
GetDiskFreeSpaceEx是windows的API啊,調(diào)用之后就會(huì)獲得信息。
說(shuō)明
獲取與一個(gè)磁盤(pán)的組織以及剩余空間容量有關(guān)的信息
返回值
Long,非零表示成功,零表示失敗。會(huì)設(shè)置GetLastError
參數(shù)表
參數(shù) 類(lèi)型及說(shuō)明
lpRootPathName String,不包括卷名的磁盤(pán)根路徑名
lpFreeBytesAvailableToCaller LARGE_INTEGER,指定一個(gè)變量,用于容納調(diào)用者可用的字節(jié)數(shù)量
lpTotalNumberOfBytes LARGE_INTEGER,指定一個(gè)變量,用于容納磁盤(pán)上的總字節(jié)數(shù)
lpTotalNumberOfFreeBytes LARGE_INTEGER,指定一個(gè)變量,用于容納磁盤(pán)上可用的字節(jié)數(shù)
適用平臺(tái)
Windows 95 OSR2,Windows NT 4.0
在程序運(yùn)行時(shí),一個(gè)函數(shù)占用一段連續(xù)的內(nèi)存。當(dāng)調(diào)用一個(gè)函數(shù)時(shí),實(shí)際上是跳轉(zhuǎn)到函數(shù)的入口地址,執(zhí)行函數(shù)體的代碼,完成后返回。
函數(shù)指針指向一個(gè)函數(shù)的入口地址,也就是函數(shù)存儲(chǔ)空間的首地址。
在C語(yǔ)言中,數(shù)組名代表數(shù)組的首地址,同樣函數(shù)名代表了函數(shù)的首地址,因此在賦值時(shí),直接將函數(shù)指針指向函數(shù)名就行了。
因此函數(shù)指針調(diào)用vs直接調(diào)用,占用的存儲(chǔ)空間都是一樣的。相當(dāng)于數(shù)組指針和數(shù)組名的關(guān)系,指向的都是同一個(gè)數(shù)組。
局部變量存在函數(shù)體里面,比如轉(zhuǎn)換成8086匯編(示意):
func: 定義變量
push ax
pop ax
ret
main: call func
滿(mǎn)意請(qǐng)采納,謝謝!
新聞標(biāo)題:c語(yǔ)言測(cè)試函數(shù)使用的空間 c語(yǔ)言測(cè)試函數(shù)運(yùn)行時(shí)間
瀏覽路徑:http://www.chinadenli.net/article40/dddpeeo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、動(dòng)態(tài)網(wǎng)站、電子商務(wù)、做網(wǎng)站、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)