a=[1
,2,3
,4]b=a
print
(a);
print
(b)print(id
(a)==
id(b)
)##a和b的儲存位址一樣a[1
]=10;
print
(b)## 修改了a中的資料,但b中資料改變
'''[1, 2, 3, 4]
[1, 2, 3, 4]
true
[1, 10, 3, 4]
'''
import copya=[
1,2,
[3,4
]]b=copy.copy(a)
print
(a);
print
(b)print(id
(a)==
id(b)
)print(id
(a[2])
==id
(b[2])
) a[2]
[0]=
10print
(b)print
('修改a[2],a[0]中!!!')a[
0]=20
;a[2]=
[1,1
]##由於修改了a[2],導致位址改變
print(id
(a[2])
==id
(b))
'''[1, 2, [3, 4]]
[1, 2, [3, 4]]
false
true
[1, 2, [10, 4]] ##此時修改a[2]中的某個資料,則b中資料也會改變
修改a[2],a[0]中!!!
false
'''
import copya=[
1,2,
[3,4
]]c=copy.deepcopy(a)
#使用的函式讓每個元素的位址都不一樣
print
(a);
print
(c)print(id
(a)==
id(c)
)print(id
(a[2])
==id
(c[2])
)'''
[1, 2, [3, 4]]
[1, 2, [3, 4]]
false
false
'''
檢視變數位址
在linux中寫乙個程式,裡面全域性變數,區域性變數,static,const,常數,陣列,輸出這些變數的位址 包括賦值的和沒有賦值的,各類資料型別 如下 include int a int b 1 int const c 1 int const x static int d static int ...
指標變數與變數位址
一 基本概念 儲存單元一般應具有儲存 資料和讀寫資料的功能,以8位二進位製作為乙個儲存單元,也就是乙個位元組。每個單元有乙個位址,是乙個整數 編碼,可以表示為 二進位制整數。程式中的變數和主儲存器的儲存單元相對應。變數的名字對應著儲存單元的位址,變數內容對應著 單元所儲存的資料。儲存位址一般用十六進...
區域性變數位址的返回
char fun 這個函式的返回值?以及這個函式在棧上的儲存布局 include include include char fun int main int argc,const char argv 就函式而言,返回區域性變數的位址這種做法是錯誤的,但是這個函式不管是在vs還是在gcc上編譯時都只會...