int *p定義一個名叫*p的變量,這樣理解正確么? 簡單介紹一下指針:由于通過地址能找到所需的變量單元,可以說,地址指向該變量單元。因此,將地址形象化地稱為“指針。”意思是通過它能找到以它為地址的內(nèi)存單元。 一般形式 類型名 *指針變量名; 大部分人初學(xué)C語言的時候遇到:int p,則理解為定義了一個int類型的變量p。 因此到指針的時候,很容易也理解:int *p,是一個int類型的*p變量,這種說法實際上是錯誤的。 int *p,其中p只是變量的名字,int *表示p變量存放的是int類型變量的地址,而不是一個int類型的*p變量。 指針就是一個地址,地址就是一個指針。 所謂int *類型,實際上就是存放int變量地址的類型,而地址則是內(nèi)存單元的編號。 還有一點需要注意,指針和指針變量是兩個不同的概念,我們平時習(xí)慣性說的指針,實際上是指針變量,指針只是一個地址,沒有其他含義。 建議初學(xué)者學(xué)習(xí)的時候,直接說清楚學(xué)的是指針變量還是指針,避免說多混淆概念。 |