c語(yǔ)言中函數(shù)調(diào)用后仍保留 c語(yǔ)言函數(shù)調(diào)用注意事項(xiàng)

在C語(yǔ)言中的函數(shù)調(diào)用過(guò)程中保留現(xiàn)場(chǎng)怎么回事?

保留現(xiàn)場(chǎng)

創(chuàng)新互聯(lián)主要從事成都做網(wǎng)站、成都網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)德化,10余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):13518219792

就是字面的意思,保留現(xiàn)場(chǎng)

比如,你要到某地去,走在路上時(shí),看到路邊有個(gè)屋子,你想去看一下,但是又怕迷路了,那么只好記住你現(xiàn)在所在的位置(也就是保留現(xiàn)場(chǎng))。然后到屋子參觀一番后,離開(kāi)屋子時(shí),只要返回到之前所記的位置就行了。

函數(shù)調(diào)用時(shí),具體要保留那些數(shù)據(jù)呢,一般來(lái)說(shuō)不同編譯器不同的調(diào)用方法要保留的數(shù)據(jù)都會(huì)不同。那些寄存器的值一般都會(huì)保留的,保留的數(shù)據(jù)一般是放在程序的堆棧中。

其實(shí)函數(shù)的返回也就是恢復(fù)現(xiàn)場(chǎng)

c語(yǔ)言中,靜態(tài)局部變量和靜態(tài)全局變量的值,在函數(shù)調(diào)用結(jié)束后都保留原值嗎?

未初始化的靜態(tài)局部變量存放BSS段中,初始化了的靜態(tài)局部變量存放于全局區(qū),靜態(tài)全局變量存放于全局區(qū),,函數(shù)調(diào)用完了,釋放自己使用的棧內(nèi)存。如果函數(shù)中有改變?nèi)謪^(qū)或BSS段的變量,函數(shù)調(diào)用完后,這些變量的值就是函數(shù)里修改后的值。

C語(yǔ)言中怎樣在函數(shù)被調(diào)用后保留其申請(qǐng)的空間不被銷毀?

嘿嘿,大多數(shù)教科書(shū)都是這樣寫(xiě)的,但以后你寫(xiě)程序時(shí)也這么寫(xiě)的話,老板直接扣你一半工資!

因?yàn)檫@種情況會(huì)產(chǎn)生野指針。

你可以這樣試下:

首先定義指針并申請(qǐng)內(nèi)存,然后賦值,然后再釋放p所指內(nèi)存,最后切記:釋放了內(nèi)存后一定要加上一句:p = NULL,因?yàn)殡m然p所指內(nèi)存被釋放了,但p還是指向原地址,這樣野指針就產(chǎn)生了,而且這種情況調(diào)試時(shí)很難發(fā)現(xiàn)

網(wǎng)站標(biāo)題:c語(yǔ)言中函數(shù)調(diào)用后仍保留 c語(yǔ)言函數(shù)調(diào)用注意事項(xiàng)
文章分享:http://muchs.cn/article4/doessoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開(kāi)發(fā)、網(wǎng)站建設(shè)微信小程序、企業(yè)網(wǎng)站制作、小程序開(kāi)發(fā)、服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)