當上面的**被編譯和執行時,它會產生下列結果:
通過上面的例項,我們了解了什麼是記憶體位址以及如何訪問它。接下來讓我們看看什麼是指標。
指標是乙個變數,其值為另乙個變數的位址,即,記憶體位置的直接位址。就像其他變數或常量一樣,您必須在使用指標儲存其他變數位址之前,對其進行宣告。指標變數宣告的一般形式為:
type *var-name;
在這裡,type是指標的基型別,它必須是乙個有效的 c++ 資料型別,var-name是指標變數的名稱。用來宣告指標的星號 * 與乘法中使用的星號是相同的。但是,在這個語句中,星號是用來指定乙個變數是指標。以下是有效的指標宣告:
int *ip; /* 乙個整型的指標 */
double *dp; /* 乙個 double 型的指標 */
float *fp; /* 乙個浮點型的指標 */
char *ch; /* 乙個字元型的指標 */
所有指標的值的實際資料型別,不管是整型、浮點型、字元型,還是其他的資料型別,都是一樣的,都是乙個代表記憶體位址的長的十六進製制數。不同資料型別的指標之間唯一的不同是,指標所指向的變數或常量的資料型別不同。
使用指標時會頻繁進行以下幾個操作:定義乙個指標變數、把變數位址賦值給指標、訪問指標變數中可用位址的值。這些是通過使用一元運算子*來返回位於運算元所指定位址的變數的值。下面的例項涉及到了這些操作:
#include using namespace std; int main ()
當上面的**被編譯和執行時,它會產生下列結果:
value of var variable: 20
address stored in ip variable: 0xbfc601ac
value of *ip variable: 20
概念
描述c++ null 指標
c++ 支援空指標。null 指標是乙個定義在標準庫中的值為零的常量。
c++ 指標的算術運算
可以對指標進行四種算術運算:++、--、+、-
c++ 指標 vs 陣列
指標和陣列之間有著密切的關係。
c++ 指標陣列
可以定義用來儲存指標的陣列。
c++ 指向指標的指標
c++ 允許指向指標的指標。
c++ 傳遞指標給函式
通過引用或位址傳遞引數,使傳遞的引數在呼叫函式中被改變。
c++ 從函式返回指標
c++ 允許函式返回指標到區域性變數、靜態變數和動態記憶體分配。
(c c 學習)指標
int p1 定義乙個指向整形的指標,名字是p1 char p2 定義乙個指向字元的指標,名字是p2 如果有 int p 指標變數名是p,而不是 p。在定義指標變數時必須明確其指向的資料型別。在c 中,通過在指標變數前加 的方法來取位址中的資料。int a,p a a前面的取位址運算子一定不可少 i...
C C 指標學習記錄(二)
我們在使用指標的時候,記住下面的準則可以很好的幫助我們節約修改程式的時間。建立鍊錶是我們學習資料結構的最基礎的能力。鍊錶這一塊真的就是聽懂容易,上手難。但是解決方法非常樸實,多敲就好!其實就是,我們建立了乙個結構體。這個結構體裡面有兩個部分,其一是資料區,其二就是我們的指標區 裡面存放的就是下乙個結...
c C 指標函式
我們知道,指標式記憶體首位址,那是針對變數來說的,我也知道,程式是由變數,函式組成的。那麼函式的指標是怎麼定義的呢?我們也知道函式也是存放在記憶體的 區域,它同樣有首位址,關鍵是我們怎樣才能獲取它的位址呢?如果我們定義乙個 int test int a 的函式,那麼它的位址就是函式名字test,這一...