陣列的指標【int(*v)[ ] and int *v】

int n[3]={6,7,8};
int (*v)[3]=&n;
int *v=n;
在宣告陣列的指標(*v)[3],*v=n兩者使用上很接近,但實際上卻不相同。

陣列的指標【int (*v)[3]=&n】是把整個陣列n的記憶體位址都賦予到*v,也就是v[0]=&n[0],v[1]=&n[1],v[2]=&n[2]。
而指標【int *v=n 或 *v=&n】v是指向n[0](第一個元素)的記憶體位址。

留言