本文共 372 字,大约阅读时间需要 1 分钟。
之前应该也写过类似的博客,今天又碰到类似的题目,又做错了,看来当时就没有透彻明白。
int a[10] = {0}; int (*b)[10] = &a; int** c = reinterpret_cast(&a); std::cout << a << std::endl<<&a< <<&a[0]<
output:
0024FEC8
0024FEC8
0024FEC8
0024FEC8
0024FEC8
0为什么a的值和&a的值是一样的呢?
首先a表示数组第一个元素的地址,也就是这个数组的起始地址。
a是一个数组,&a表示这个数组的地址,也就是数组的起始地址。
虽然a和&a的值一样的,但是表示的意义不一样,a+1表示这个数组第二个元素的地址,而&a+1表示下个数组的地址
转载地址:http://dpeti.baihongyu.com/