int
(* arr )[3
];//arr是乙個指向包含3個int元素的陣列的指標變數
struct student *p_struct;
//結構體型別的指標
int(
*p_func)
(int
,int);
//指向返回型別為int,有2個int形參的函式的指標
int*
* p_pointer;
//指向 乙個整形變數指標的指標
//取位址
int num =97;
int* p_num =
#//int arr[3]
=;int(
*p_arr)[3
]=&arr;
//int
add(
int a ,
int b)
int(
*fp_add)
(int
,int
)= add;
*p_age =20;
//通過指標修改指向的記憶體資料
//指標之間的賦值
int* p1 =
& num;
int* p3 = p1;
//空指標
//指向空,或者說不指向任何東西。在c語言中,我們讓指標變數賦值為null表示乙個空指標,而c語言中,null實質是 ((void*)0) , 在c++中,null實質是0。
//錯誤
int*p;
*p =10;
//oops! 不能對乙個未知的位址解位址
//void*型別指標 不知道型別的指標
//p->member 等價於 (*p).member
//改變量值
void
change
(int
* pa)
intmain
(void
)//數值交換
//正確的寫法:通過指標
void
swap_ok
(int
*pa,
int*pb)
//指標函式
void
echo
(const
char
*msg)
intmain
(void
)//const和指標
int a =1;
intconst
*p1 =
&a;//const後面是*p1,實質是資料a,則修飾*p1,通過p1不能修改a的值
const
int*p2 =
&a;//const後面是int型別,則跳過int ,修飾*p2, 效果同上
int*
const p3 =
null
;//const後面是資料p3。也就是指標p3本身是const .
const
int*
const p4 =
&a;// 通過p4不能改變a 的值,同時p4本身也是 const
intconst
*const p5 =
&a;//效果同上
C語言之指標
指標型別的本質分析 1 指標的本質 指標的本質 一種復合的資料型別。下面我將以下面幾個作為例子進行展開分析 a int p b int p c int parvalue 3 d int pfun 分析 所謂的資料型別就是具有某種資料特徵的東東,比如資料型別char,它的資料特徵就是它所佔據的記憶體為...
C語言之指標
指標的概念 什麼是指標?如果用一句話概括的的話那就是,乙個存放記憶體空間位址的變數。指標也是乙個變數,指標存放的內容是乙個位址,該位址指向乙個記憶體空間。指標變數的定義 int p 該變數用來存放乙個空間的位址。p 代表該指標指所指向記憶體空間中的值,切記指標只能存放有效的記憶體空間位址,不能存放其...
C語言之指標
指標是c語言學習乙個重要的概念,它極大的方便了c語言程式設計,用好了指標可以幫助我們程式設計,但是同時指標也是飽受爭議,因為指標的使用很容易出錯,所以在一開始學的時候就弄懂有關指標的知識點是必要的。那麼指標是什麼呢?其實指標也是一種變數,和其他型別的變數一樣,也是儲存資料的,只是在指標變數裡面儲存的...