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**)
問題二:這邊我一直沒有搞得很懂,為什麼兩個位址不能相減?
不能的理由是什麼?
C語言新手,麻煩各位解答了