類似定義變數的形式,資料型別包含 int、char、float等:
型別名 *指標變數名;
定義乙個變數value:
int value = 150;
定義乙個指標pv:
int *pv = &value;
*注:定義指標時應對指標進行初始化,原則上不允許int *pv;
這樣的指標出現。如果沒有想好,可以將指標定義為空指標char *p = null;
於是我們就定義了乙個指向value的指標pv
int value
是定義了乙個名為value
的整型變數,它的值為150,儲存這個資料的記憶體為0001h,為了訪問這塊記憶體空間,我們定義了乙個指標pv
,其中儲存的資訊為訪問value
中資料的記憶體序列。
那麼執行結果:
pv = 0x6dfd74
&value = 0x6dfd74
value = 150
*pv = 150
**
作用pv/&value
取變數位址
*pv/value
取變數的值
如果輸入*pv = 300;
那麼將會把value的值置為300。
指標與陣列可以進行聯用,如已知乙個陣列a[i]
:
在初始定義指標時,int *pa = &a[0];
與int *pa = a;
等價;在後續呼叫時,pa = &a[0];
與pa = a;
等價。
指標取陣列第乙個元素的首位址。
取陣列中元素的值有如下幾種等價表示方法:a[i]
、pa[i]
、*(a+i)
、*(pa+i)
。
取陣列中位址有如下幾種等價表示方法:&a[i]
、&pa[i]
、(a+i)
、(pa+i)
。
pa對準了陣列的位址。但pa++
;並不是指標變數pa的值簡單加1,而是加上了乙個基型別的位元組數,如定義的是int型,則是移動了sizeof(int)
= 4個位元組數,不同資料型別所佔位元組的大小不同,依據編譯器的位數而定,可參見
C C 簡單的函式指標的應用
形式1 返回型別 函式名 參數列 char pfun int char glfun int a void main 第一行定義了乙個指標變數pfun。首先我們根據前面提到的 形式1 認識到它是乙個指向某種函式的指標,這種函式引數是乙個int型,返回值是char型別。只有第一句我們還無法使用這個指標,...
指標的基本概念及使用
指標 通過位址能找到所需的變數單元,因此說,位址指向該變數單元,將位址形象化的稱為指標 可理解為位址就是指標 指標的作用 通過指標間接訪問記憶體 指標變數的定義 型別名 指標變數名 乙個變數的指標的含義包含兩個方面,一是儲存單元的純位址,二是指向儲存單元的資料型別,故定義指標變數時要指定基型別,用來...
並查集的概念及應用
並查集的意思就是 合併 查詢和集合。在演算法題中,並查集的應用包括但不侷限於 屬性歸類。設定乙個二維陣列,然後陣列項數是他本人,陣列內容可以看做是他的父親,最後會上溯到乙個祖先。具體用法 1 首先建立乙個整數型陣列,然後對其初始化,初始化的內容就是將他們的父親暫時設為他們 自己 void init ...