[問題] 參照 變數宣告及記憶體位置問題

看板Perl作者 (yoyoman)時間1年前 (2023/02/07 14:33), 編輯推噓1(101)
留言2則, 1人參與, 1年前最新討論串1/2 (看更多)
大家好 最近在參照上遇到一個問題,想請問大家下面兩段程式碼裡,為什麼我使用my宣告後的第二 次重新指定變數內容會讓Perl指向新的記憶體位置,而沒有宣告的部份卻是指向一樣的位置 ? 另外想問變數名稱和記憶體位置的關係在Perl 裡面是如何的,跟其他語言會是相似的嗎? 希望大家能替我解答,感謝~ my $AAA = 0; $Ref = \$AAA; print "1:$Ref\n"; my $AAA = 0; $Ref = \$AAA; print "2:$Ref\n"; 1:SCALAR(0x5582dcc8d950) 2:SCALAR(0x5582dcc8da28) $AAA = 0; $Ref = \$AAA; print "1:$Ref\n"; $AAA = 0; $Ref = \$AAA; print "2:$Ref\n"; 1:SCALAR(0x5640c49e0990) 2:SCALAR(0x5640c49e0990) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.136.181.209 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Perl/M.1675751628.A.D72.html

02/07 17:35, 1年前 , 1F
結果已經說明了你宣告兩次一樣的變數會配置不同的記憶
02/07 17:35, 1F

02/07 17:36, 1年前 , 2F
你如果有開warning的話 編譯器會警告
02/07 17:36, 2F
文章代碼(AID): #1ZuV3Cro (Perl)
文章代碼(AID): #1ZuV3Cro (Perl)