置頂
address的問題
int d = 3;
int *k = &d;
int **k2 = &k;
int ***k3 = &k2;
cout<< k << ' ' << k2 << ' ' << k3 << endl;
output: 印出了三個不同的位址,其中各個的差距都是12
問題一:為什麼是差距是12?
接著我在試著宣告
size_t size = k-k2;
發現了這兩個位址是不能相減的
錯誤顯示的是型別不同(一個是int*,另一個是int**)
問題二:這邊我一直沒有搞得很懂,為什麼兩個位址不能相減?
不能的理由是什麼?
會員登入
(先登入會員才能回覆留言喔!)