我正在學習C中的數組中的指針。我真的很困惑,指針的數組究竟是什麼。看看此例 -爲什麼p不顯示與a相同的地址?
#include<stdio.h>
int main()
{
static int a[] = { 0, 1, 2, 3, 4 };
int *p[] = { a, a+1, a+2, a+3, a+4 };
printf("%p %p %p %d ", p, *p, a, *(*p));
return 0;
}
當我運行這個程序,我得到不同的地址a
和p
。爲什麼?據我所知,a
是指向數組的第零個元素的指針,而p
是指向指針的指針。 a
指向第零個元素的地址,但p
呢?有沒有地址的地址?
a不是指針,a是數組。 p也不是一個指針,它也是一個數組。 – 2014-11-04 17:36:09
@MooingDuck儘管 – 2014-11-04 20:19:50