简单易懂的方式去看C语言精华--指针
簡單易懂的方式去看C語言精華–指針
學c語言時間也不短了,但是相必很多人頭疼C語言中指針的用法,下面作為一個幾刷C語言的一點感想。
變量訪問方式
那就需要從變量訪問說起,變量訪問方式有兩種:
1.變量名
2.地址訪問
變量名很容易理解,那么地址如何實現訪問變量
其中,*就是取出地址0x0001的變量值a,相反,&就是取地址(取變量的地址)。
指針變量使用
c語言中*p就是指針,p就是地址,也就是說指針就是地址。
其定義及初始化
初始化
int* p = &a; int* p; p = &a;在這里需要注意,*在定義指針時僅作為標識符;其他情況還是取內容。
指針類型
指針具有類型,其類型主要體現在指針偏移過程中
int *p; p++; printf("int類型的地址: %p", p);char *p; p++; printf("char類型的地址: %p", p);p++后地址分別加4和1,就是因為指針類型一個為int,代表4字節,一個為char,為單字節。
指針哪里會用呢?
作為C語言特有的功能,指針可謂是一把利器,但我們什么時候會碰到呢?主要有兩種
該句即可實現。
2. 函數調用中實現變量修改,在此舉兩個例子說明
通過上邊兩個例子的輸出就可以看出,eg.1輸出為“a的值為5,b的值為10”,eg.1輸出為“a的值為10,b的值為5”。
指針數組和數組指針
初學者都會感覺這個有點難區分
那么怎么區分呢?
指針數組,顧名思義,首先是一個數組,然后數組的元素是指針。
說明形式為:type pointer_array[constant1][constant2]…[constantn];
例如:int pai[3]; 由于‘’是自右向左結合,因此從右向左看,首先看到[4]說明是一個數組,是一個包含4個元素的數組,然后看到‘’,顯然是指針類型,由此可以看出數組中存放的是指針而不是一般的類型。
那么數組指針:指向一個數組的指針。 說明形式為:type (pointer_array)[constant1][constant2]…[constantn];
這里的圓括號是必須就將這是由于方括號[],較指針說明符“”的優先級高,若無此圓括號,編譯器將把上述說明解釋成成了一個數組指針。
例如:int (*ap)[2];
總結
以上是生活随笔為你收集整理的简单易懂的方式去看C语言精华--指针的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 嵌入式面试常见问题(六)—各大公司面试题
- 下一篇: 新年新气象 新年新打算