與c語言指標相關聯的三個符號,乙個是位址符&,乙個是間接符號*,還有乙個是在宣告指標時用到的*符號。
那麼什麼是指標呢?指標時儲存變數位址的變數,不是整型,它就像int,float一樣是指標型別。
p=
&i;//p儲存的是變數i在記憶體中的位址
i=*p;
//*符號加在指標p前,表示取的是這個位址上的變數值
printf
("%p"
,p);
//列印指標使用%p
例子:定義乙個函式用於交換兩個變數的值
#include
void
interchange
(int
,int);
intmain
(void
)void
interchange
(int a,
int b)
程式執行的結果
因為函式內的變數是區域性變數,只存在於函式內部,函式interchange裡的ab雖然交換了,但這裡的ab和主函式的ab沒有關聯,它們在記憶體中的位址都不一樣,是完全不同的變數。那如果要交換值怎麼操作呢?答案就是傳變數的位址進去。
#include
void
interchange
(int
* a,
int* b)
;//宣告函式
intmain
(void
)void
interchange
(int
* a,
int* b)
//函式定義,引數是兩個指標,*和指標之間有空格
這個程式用到了指標的宣告。
int
* i;
double
* d;
//指標宣告要指明型別,*說明d是指標型別,這句表訴就是宣告乙個指向double型別的指標d
這裡容易弄混淆的是宣告使用的*
和取指標位址上變數的值*
一般為了區分,宣告用的*和指標中間空格,
而通過位址取值*和變數之間不空格,留不留空格不是強制的,只是為了進行區分。
C語言指標初探
1.指標型別分析 分析指標,可以從變數名處起,根據運算子優先順序結合,一步一步分析.int p 這是乙個普通的整型變數 int p 首先從p處開始,先與 結合,所以說明p是乙個指標,然後再與int結合,說明指標所指向的內容的型別為int 型.所以 p是乙個返回整型資料的指標 int p 3 首先從p...
初探C語言指標之何為指標變數
c程式設計 第10章學習總結 乙個變數由3部分內容組成,分別是變數型別 變數名 變數內容。如 int i 3 其中,int為變數型別表示給此變數分配2個位元組。i為變數名,程式編譯後將變數名轉換為變數位址,如2000和2001。在2000和2001裡存放變數內容3。乙個變數的位址稱為變數的指標。如2...
c語言指標初探 一 指標與陣列
一 陣列名指標 c 編譯器將陣列名解釋為指標 include using namespace std int main cout sz 編譯器將陣列名解釋為陣列記憶體區域的首位址,對一維陣列來說要實現對某個元素的訪問,既可以用陣列名 下標的形式,也可以用間接引用 陣列名 偏移 陣列元素的指標形式 指...