<分区>
我知道C语言中的指针是一个保存地址的变量。 例如:
int myVar;
int *p;
p = &myVar;
printf("%p\n", p);
printf("%p\n", &p);
输出将是两个不同的地址,第一个是 myVar 的地址,第二个是指针本身的地址,这意味着指针也是一个变量,并且在内存中有一个地址(如果我纠正我'我错了)
但我的问题是关于数组的,例如我们有这样的代码:
int myArray[10];
所以在这里我认为 myArray 也是一个指针,它保存 myArray 的起点地址,在本例中是 myArray[0],所以当我打印 myArray[0] 和 myArray 的地址时,我得到相同的结果:
printf("%p\n", &myArray[0]);
printf("%p\n", myArray);
现在,当我尝试打印 myArray 本身的地址时,让我感到困惑的部分就在这里:
printf("%p\n", &myArray);
在这里,我得到了与我期望获得另一个地址(如指针)相同的结果。myArray 是一个 标签之类的?