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语言新手,麻烦各位解答了