讓你迷惑的各種指針,這裡一一介紹,助你掌握指針(一)

讓你迷惑的各種指針,這裡一一介紹,助你掌握指針(一)

相信大家在學c語言的時候最讓人頭疼的就是指針了,由於內容稍顯有些多,所以會分幾篇文章講解。

首先我們從最基本的開始講解,什麼是指針,數據中內存中存放的地址,就被稱為指針,然而指針變量,就是存儲著那些指針的變量。

然而指針變量,可以存儲如何地址,可以是,基本類型的,可以是數組的,可以是字符串,可以是函數,還可以是另外一個指針變量。所以指向的數據不同就也有了,各種指針。讓人眼花繚亂,但請記住,指針變量,裝的無非就是地址。所以也別把自己繞暈了。

下面開始講解指針變量

定義方法:

類型 *指針變量名;

類型也就是所要指向數據的類型,*表示定義的這個是一個指針變量。比如:

int *p; //定義指針變量p。 這裡重點看*,如上面所說的,代表定義的是一個指針變量。

再看下面使用指針的例子:

int a=10; //定義int型變量a,初始化賦值10。int *p=&a; //定義int型指針變量p,&是取地址符號,這裡是初始化,把a的地址給,指針變量p。

那麼下面使用指針,使用變量a的值。

int a=10; //定義int型變量a,初始化賦值10。int *p=&a; //定義int型指針變量p,&是取地址符號,這裡是初始化,把a的地址給,指針變量p。int t=*p+10; //這裡的*,是取內容符。 代表取所指的地址存儲的內容printf("a=%d,p=%d,t=%d,p存儲的內容為%x。",a,*p,t,p);

輸出結果會是:a=10,p=10,t=20,p存儲的內容為6ffb6c。

最後這裡總結一下,需要注意的重點是:

  1. 不管是什麼指針變量,存儲內容都是指針(地址)。
  2. 在定義指針變量的時候*,代表的是所定義的是指針變量。 而在其他時候*代表的是取內容的符號。

文章到這裡就結束了,如果還想看就只有翻之前的文章看了咯,如果有中C語言或者c++的學習者,可以私聊回覆“C語言”或者“c++” 獲取群號,這是我的群,需要學習資料,或者有問題需要解答的可以加群。

覺得我的文章還可以的,可以關注,轉發,收藏,評論。


分享到:


相關文章: