在c語言中,指標是乙個很重要的組成部分,其本質為某一段記憶體的起始位址。以如下**進行舉例說明:
int a;//定義乙個變數a
int *p;//定義乙個指標p
int **q;
p=&a; //將a的位址賦值給p,其型別為int *
q=&p; //將指標q的位址賦值給q,其型別為int **
*p==a;//*p代表指標p所指向的變數a,其型別為int
1、 "指標p"這個變數的值,指的是p本身的值,寫作p, 在這裡是a的位址,型別為int *型;
2、 "指標p」存放的位址的值,指的是p的位址值,寫作&p, 這個位址代表的記憶體,儲存出是p的值,型別為int **型,也就是二級指標;
3、"指標p"指向的變數的值,指的是p值代表的位址上儲存的值,寫作*p, 在這裡就是變數a的值,型別為int型。
以上三種,都是最常用的指標說明方式,必須要深入理解並靈活掌握,否則很難學好c語言。
指標的型別 指標所指向 指向指標的引用
從語法的角度看,你只要把指標宣告語句裡的指標名字去掉,剩下的部 分就是這個指標的型別。這是指標本身所具有的型別。讓我們看看例一中各 個指標的型別 int ptr 指標的型別是int char ptr 指標的型別是char int ptr 指標的型別是int int ptr 3 指標的型別是int 3...
修改const指標所指向的值
dval 3.14159 cptr 3.14159 錯誤 cptr是乙個指向const的指標 double ptr dval 正確ptr指向非const物件 ptr 2.72 正確 cout cptr 指向const的指標cptr實際上指向了乙個非const物件。儘管它所指向物件非const,但仍然...
指標的型別與指標所指向的型別
指標的型別和指標所指向的型別很明顯是不一樣的東西,但好多情況下卻容易忽視它們的區別。指標的型別是指標自身的型別,而指標所指向的型別是指標指向的資料 記憶體 的型別。從語法上來看,我們只要把指標宣告語句裡的指標名字去掉,剩下的部分就是這個指標的型別。如 1 int ptr 指標的型別是 int 2ch...