c語言指針,指向指針的指針

一般指針

1
2
inti = 5, j = 6, k = 7;
int*ip1 = &i, *ip2 = &j;

指向指針的指針:

1
int**ipp = &ip1;

那麼現在指針 ipp 指向了 ip1,ip1 指向了 i。*ipp 就是 ip1,**ipp 就是 i,或者說是 5。

& 符號的意思是取地址,也就是返回一個對象在內存中的地址。

* 符號的意思是取得一個指針所指向的對象。 也就是如果一個指針保存着一個內存地址,那麼它就返回在那個地址的對象。

簡單點就是:
&:取址。
* :取值。


->

->在C語言中稱爲間接引用運算符,是二目運算符,優先級同成員運算符“.”。
用法:
p->a,其中p是指向一個結構體的指針,a是這個結構體類型的一個成員。表達式p->a引用了指針p指向的結構體的成員a。
例如:
struct T
{
int a;
char b;
}s;

struct T* p=&s;
p->a相當於s.a。
等價寫法:(*p).a,和p->a完全等效。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章