国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

張家港高端網(wǎng)站制作百度總部公司地址在哪里

張家港高端網(wǎng)站制作,百度總部公司地址在哪里,青島城陽網(wǎng)站設(shè)計(jì),bim裝配式工程師證書兼職寫算法題的時(shí)候突然想到&#xff0c;為什么循環(huán)內(nèi)定義變量不會(huì)算作是重復(fù)定義&#xff0c;以及變量作用域問題&#xff0c;為此&#xff0c;進(jìn)行了一次探索 c&#xff1a; 代碼&#xff1a; #include <stdio.h> int main() {int a 0;int* b &a;for (int i 0; i …

寫算法題的時(shí)候突然想到,為什么循環(huán)內(nèi)定義變量不會(huì)算作是重復(fù)定義,以及變量作用域問題,為此,進(jìn)行了一次探索


c:

代碼:

#include <stdio.h>
int main()
{int a = 0;int* b = &a;for (int i = 0; i < 3; i++) {printf("%d\n", a);printf("%p\n",&a);int a = i;printf("%d\n", a);printf("%p\n", &a);printf("------------------\n");}return 0;
}

運(yùn)行結(jié)果:

0
010FF91C
0
010FF8F8
------------------
0
010FF91C
1
010FF8F8
------------------
0
010FF91C
2
010FF8F8
------------------

java:

代碼:

public class Main{public static void main(String[]args) {int a = 1;for(int i = 0 ;i<2;i++){int a = i;System.out.println(a);System.out.println("---------------------");}}
}

java: 已在方法 main(java.lang.String[])中定義了變量 a


go:

代碼:

import "fmt"func main() {a := 0for i := 0; i < 3; i++ {fmt.Println(a)fmt.Println(&a)var a = ifmt.Println(a)fmt.Println(&a)fmt.Println("________________________")}
}

結(jié)果:

0
0xc00000a0b8            
0                       
0xc00000a100            
________________________
0                       
0xc00000a0b8            
1                       
0xc00000a110            
________________________
0                       
0xc00000a0b8            
2                       
0xc00000a120            
________________________

查閱資料得知,這個(gè)屬于是變量作用域的問題,局部變量如果超出作用域就會(huì)銷毀,正如C語言代碼運(yùn)行結(jié)果那樣,循環(huán)內(nèi)定義同一變量的地址值是不會(huì)改變的。

而且代碼在編譯時(shí),會(huì)將重復(fù)定義的變量”提出“到循環(huán)外定義,也就是說,在循環(huán)內(nèi)定義和循環(huán)外定義在占用內(nèi)存上幾乎一樣

至于同名變量可以既在循環(huán)內(nèi)定義,又在循環(huán)外定義,這點(diǎn)還是跟作用域有關(guān),但為什么java不能這樣定義,emmm,沒有查到相關(guān)資料,知道的可以補(bǔ)充一下


還有個(gè)問題,那為什么go定義出來的變量地址不一樣呢?是沒有銷毀原來的局部變量嗎?這就要說到Go 有 escape analysis, 在編譯期,它會(huì)分析你的變量是否在函數(shù)執(zhí)行完畢那一刻,程序有沒有可能有別的對(duì)象引用到它(所謂逃逸),如果沒有,那這個(gè)變量就可以在棧上分配,完全不經(jīng)過 gc,如果它已經(jīng)逃逸了,那就不知道什么時(shí)候才能gc了~

這個(gè)代碼中的逃逸是由于fmt導(dǎo)致的,我們不妨不恰當(dāng)?shù)男薷囊幌麓a

import "fmt"func main() {a := 0for i := 0; i < 3; i++ {println(a)println(&a)var a = iprintln(a)println(&a)fmt.Println("________________________")}
}

結(jié)果:

0
0xc00006ff18            
0                       
0xc00006ff10            
________________________
0                       
0xc00006ff18            
1                       
0xc00006ff10            
________________________
0                       
0xc00006ff18            
2                       
0xc00006ff10            
________________________

可以看到,當(dāng)我們不使用標(biāo)準(zhǔn)輸出流,而是使用標(biāo)準(zhǔn)錯(cuò)誤流打印的時(shí)候,可能就不會(huì)觸發(fā)逃逸,看到此時(shí)地址是一樣的,也就是印證了我們上面的結(jié)論。

http://m.aloenet.com.cn/news/37283.html

相關(guān)文章:

  • 蘇州 網(wǎng)站 建設(shè) 公司微信營銷模式有哪些
  • 做企業(yè)網(wǎng)站比較好的公司互動(dòng)營銷案例都有哪些
  • 建筑工程網(wǎng)站源碼市場(chǎng)營銷證書含金量
  • 天津高端品牌網(wǎng)站建設(shè)企業(yè)培訓(xùn)課程名稱大全
  • 網(wǎng)站開發(fā)畢業(yè)論文范文微博推廣方法有哪些
  • 自適應(yīng)網(wǎng)站什么做2022今天剛剛發(fā)生地震了
  • 哈爾濱住房和城鄉(xiāng)建設(shè)廳官方網(wǎng)站如何軟件網(wǎng)站優(yōu)化公司
  • wordpress 數(shù)據(jù)庫青島網(wǎng)站關(guān)鍵詞排名優(yōu)化
  • 政府網(wǎng)站建設(shè)情況調(diào)查表內(nèi)蒙古seo
  • 汽車app網(wǎng)站建設(shè)內(nèi)容企業(yè)推廣
  • h5長圖怎么做口碑優(yōu)化
  • windows系統(tǒng)做網(wǎng)站滄州網(wǎng)站建設(shè)優(yōu)化公司
  • html+jsp個(gè)人網(wǎng)站模板百度認(rèn)證證書
  • 北京網(wǎng)站建設(shè)工作室百度的合作網(wǎng)站有哪些
  • 谷歌網(wǎng)站收錄入口seo優(yōu)化的常用手法
  • 岳陽企業(yè)網(wǎng)站定制開發(fā)如何在百度上開店鋪
  • 好的h5網(wǎng)站企業(yè)網(wǎng)站模板免費(fèi)下載
  • 政府網(wǎng)站建設(shè)計(jì)劃編程培訓(xùn)
  • 金融業(yè)反洗錢培訓(xùn)網(wǎng)站seo咨詢推廣
  • 網(wǎng)站做百度推廣嗎軟文寫作范文500字
  • 高端營銷型網(wǎng)站b站推廣app大全
  • 圖片上傳網(wǎng)站制作廣告推廣系統(tǒng)
  • 如何查看一家網(wǎng)站是否有備案深圳網(wǎng)絡(luò)營銷推廣專員
  • pc網(wǎng)站開發(fā)2023重大新聞事件10條
  • 網(wǎng)站正在建設(shè)中 文案seo網(wǎng)站建站
  • 有做銷售產(chǎn)品的網(wǎng)站有哪些內(nèi)容優(yōu)化網(wǎng)站標(biāo)題
  • 天貓網(wǎng)站的建設(shè)培訓(xùn)機(jī)構(gòu)最新消息
  • 時(shí)尚大氣的網(wǎng)站設(shè)計(jì)網(wǎng)站設(shè)計(jì)師
  • 做html網(wǎng)站免費(fèi)引流推廣怎么做
  • 四川省建設(shè)信息網(wǎng)站百度推廣客戶端下載安裝