手机浏览器扫描二维码访问
{
intb=0;
}
定义在函数参数列表或者内部被称作局部变量,例如变量a和变量b。而定义在函数外部变量global则被称为全局变量。
这二者有什么分别呢?
最大的分别自然就是作用域不同,还有就是生命周期不同。作用域咱么就不多讲了,现在来说说生命周期。
局部变量的一生是这样度过的:当调用函数的时候执行它们的声明语句,这时它们就出生了。然后等到函数执行完,它们就会被无情的杀死。
全局变量就不一样了,它在程序开始执行时就出生了,要等到整个程序运行结束的时候才是死亡,可以说是与天地同寿。
也就是说,全局变量会一直占用这内存不释放。因此,我们在声明一个变量时一定要考虑它的作用域,应该在实现功能的情况下尽量让其作用域更小,让其脱离作用域后就释放,提高内存的使用效率。」
「那这么说来局部变量很可怜,一辈子兢兢业业,任劳任怨,存活的时间还那么短暂。」
我感叹道。
「谁说不是呢,局部变量就像是你老爹我这样的为了生活在社会底层**丝,一辈子任劳任怨,却又碌碌无为。」
可能是我的话戳中了老爹心中的软肋,他一下子变得有些伤感。
「当然了,**丝也有成功逆袭的时候,所以希望还是要有的嘛。」
原本还想安慰一下老爹,没有到他瞬间又恢复了原来的模样。
「说到这里,咱们就来说说如何让可怜而又短命的局部变量成功逆袭,踏上与与天地同寿的人生巅峰。」
老爹突然有让人振奋的声音说道。
「……」
我有点无语,感情他刚刚一幅伤感、心酸的模样就是为了渲染气氛。
「在关键字中有一个叫做static的关键,它有两个作用,其中一个作用就是可以让局部变量逆天改命,让它具备与天地同寿的能力。
voidfuncf(void)
{
staticintc=0;
}
它的用法就是这样,在函数内部声明一个局部变量的时候用static修饰它,这样它就可以与天地同寿了。
除此之外,人生轨迹也发生了变化。
如果没有static修饰变量c,每次调用funcf()的时候都会执行int=0这句,然后函数调用完了,它就被杀死了。
但是现在它被static逆天改命了,情况就变得不同了。首先,只有在第一次调用函数funcf()的时候才会执行intc=0。其次,在funcf()执行结束后,它也不会再被杀死。
等到下一次在执行funcf()的时候,c还保持着上一次的状态。」
诚如老爹所言,我和小弦子写代码验证了一下,结果和老爹的说法完全一致。
「那static是如何做到为一个变量逆天改命的呢?我看动漫里边逆天改命都要付出很大的代价。」
我也想问这个问题,没有想到让小弦子给领先了。
「这个就涉及到内存分区了。
先前已经跟你们说了,程序要运行需要先被加载到内存中去,这个加载也不是随便加载的。
运行程序的内存被分成了五个区,它们分别是:代码区、常量区、全局数据区、堆区、栈区。」
最强豪婿陆凡 阴阳眼小师妹 大佬甜妻宠上天 戚风童话 王妃称心 龙婿陆凡 我的蛮荒部落 上门龙婿陆凡 青梅千千结 嗣子荣华路 衫生诡 张钟颖 夫人的病今天好了吗 校园全能马甲女神 顾九辞霍明澈 梦灾末世生存指南 迟宠 韩娱之聚光 四龙攒凤 异界烽火录贰烽云再起
随身带着原始部落由作者兵家传人创作全本作品该小说情节跌宕起伏扣人心弦是一本难得的情节与文笔俱佳的好书919言情小说免费提供随身带着原始部落全文无弹窗的纯文字在线阅读。...
当蛰伏的小人物柳随云遇到仙家大小姐,他们之间会发生怎么样的故事?速成第一道法开启的修仙之门,终于让柳随云走上渺茫仙路。冷艳的钢铁少女,温柔至善的师娘,一心倾恋的萝莉,坚贞无瑕的未亡人,宝相端庄的无垢神尼,宿命相逢的风华少妇,一心向道的女剑修,她们又会同柳随云演绎出怎么样的精彩不求乘风御剑,不求三界纵横,爱才是永恒,只求与相爱之人相守一生,这才是柳随云的无上大道...
景言曾是景家最优秀的天才,十六岁突破武道九重天踏入先天之境,整个东临城无人能比,却莫名其妙在进入神风学院后境界跌落,成为笑柄。解开乾坤戒封印,重新崛起,最终制霸天元大陆,成为无数武者仰望的存在。...
书海阁小说网免费提供作者辣椒炒鸡蛋的经典小说朕有九个皇贵妃最新章节全文阅读服务本站更新及时无弹窗广告欢迎光临wwwshgtw观看小说穿越成王朝太子爷,声色犬马之余,一路逆袭,经商开矿发展手工业,奖励耕战,玩儿似的就把一个危机四伏的江山,给玩儿成了铁桶江山,治下的王朝也成了铁血王朝。...
为了游戏里的皮肤,女友竟然背着我百星荣耀王者强势回归,手把手教你上王者!...
和氏之璧,隋侯之珠,得之者富,失之者贫。一个远古的传说,一个粉饰的盛世,一个惊天的阴谋,一个失忆的少女。庙堂之高,江湖之远,交错成世间百态。帝王将相,苍生黔首,浮沉于无边苦海。尘世间,少女孑孓独行,寻找着久远的回忆。...