重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
保留现场
创新互联主要从事成都做网站、成都网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务德化,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792
就是字面的意思,保留现场
比如,你要到某地去,走在路上时,看到路边有个屋子,你想去看一下,但是又怕迷路了,那么只好记住你现在所在的位置(也就是保留现场)。然后到屋子参观一番后,离开屋子时,只要返回到之前所记的位置就行了。
函数调用时,具体要保留那些数据呢,一般来说不同编译器不同的调用方法要保留的数据都会不同。那些寄存器的值一般都会保留的,保留的数据一般是放在程序的堆栈中。
其实函数的返回也就是恢复现场
未初始化的静态局部变量存放BSS段中,初始化了的静态局部变量存放于全局区,静态全局变量存放于全局区,,函数调用完了,释放自己使用的栈内存。如果函数中有改变全局区或BSS段的变量,函数调用完后,这些变量的值就是函数里修改后的值。
嘿嘿,大多数教科书都是这样写的,但以后你写程序时也这么写的话,老板直接扣你一半工资!
因为这种情况会产生野指针。
你可以这样试下:
首先定义指针并申请内存,然后赋值,然后再释放p所指内存,最后切记:释放了内存后一定要加上一句:p = NULL,因为虽然p所指内存被释放了,但p还是指向原地址,这样野指针就产生了,而且这种情况调试时很难发现