不是这样的。如果这个数组声明在函数内部,那么它的地址1000就是函数参数压进栈后,当前栈寄存器ss中保存的栈基址和sp(堆栈指针寄存器)寄存器指向的栈顶偏移量通过计算得出的内存地址。如果是全局的,那么它的地址1000是编译器在内存中开辟的某个连续的地址空间,该空间的首地址为1000,保存在Cpu中的某个寄存器中。
int *a;a=&a[0];这条语句,不考虑语法的问题,那么和你上面说的意思差不多,这里指针a也是一个变量,也是需要内存空间存储的。它的地址究竟是多少,就是上面一段所叙述的。
不是 ! 数组的地址不需要放在分配一个指针变量里,在需要数组名作为地址的地方直接使用地址。
是的,是这样子的!
内部实现的,我们不用管,只管用
不是指针,只是一个数组,需要开辟一个指针指向数组