hi,想问一点比较初阶的东西,看看自己的理解对不对
问题描述:
https://i.imgur.com/bnSFVCv.jpg
如果我这样宣告:
int a[10];
这时候单纯看a这个变量其实就是一个指向叫做a的整数阵列指标,没错吗?
我原本以为a会在内存上的其他位置,然后像指标一样指向阵列的起始位址
像下图这样:
https://i.imgur.com/n7OTGZq.jpg
但实际测试过后才知道a这个指标就位在阵列的起始位址
那我的问题是:
1.a是一个指标吗?不然为什么compiler会警告我a是一个 int *的参数呢?
2.如果我做下列动作
print ("%x", a)
也确实print出阵列的起始位址了,那不是代表a的内存地址内的资料确实是阵列的起始位
址吗?
那这样a[0]是存的东西为什么不是阵列的起始地址?
以上两个感觉有点初阶的东西,但小弟一直想不透,恳请板友指点,谢谢