菜鳥程式設計 指標初步

2021-08-13 10:31:26 字數 886 閱讀 5282

筆者想在此分享一下自己最近學習的指標相關的內容。

指標是什麼?

指標就是記憶體的乙個位址,它能夠增加變數的訪問方法,也就是說,變數不僅能通過變數名來直接呼叫,也可以通過指標來訪問。指標指向的就是這個變數所在的位址,通過訪問這個位址,來呼叫位址所儲存的變數。

指標的定義與使用。

int i = 0;

int *p = &i;

這裡便是對乙個指標p的定義。*表明變數p是乙個指標,而&是取位址的操作符,也就是說,將變數i的位址存到指標p中。通過操作指標p,來對變數i進行間接的操作。定義指標的目的不是獲取位址,而是間接訪問該變數。*運算子是取指標所指向的值,以上面為例子:int y = *p + 3; 那麼這個時候y就是3。

再舉乙個例子:

int x = 4, y = 5;

int *p = &x;

*p = y+2;   此時x = 7,p指向x

p = &y;  此時p指向y

cout << *p;  輸出結果為5

指標與陣列的簡單結合。

陣列名儲存了陣列的第乙個元素的位址,也就是說,陣列名其實就是乙個指標,但是它是乙個指標常量,也就是說,它的值不能改變。定義乙個陣列int i [9],乙個指標p = i;

那麼就可以通過指標p來訪問陣列的元素。p[3] 就是陣列的第四個元素。

舉乙個用不同方式輸出陣列的例子:

之前是用for迴圈再cout存入資料

for(int i = 0;i <= 8;i++)

for(int i = 0;i<= 8;i++)

for(p = array; p<= array+8;p++)

for(p = array,i = 0;i <= 8;i++)

for(p = array,i =0;i<=8;i++)

菜鳥程式設計 指標初步

這裡,筆者想分享一點關於指標和動態記憶體分配的內容。在分享之前,筆者先簡單分享一下各個記憶體區域及他們的儲存內容。全域性命名空間,儲存全域性變數 自由儲存區 也稱為堆 也是與動態記憶體分配相關的內容,需要用new和delete關鍵字來操作。暫存器 cpu內部工作使用 一般不能直接使用,可以用regi...

C this指標初步使用,與鏈式程式設計

include pch.h include include using namespace std class person person addage person p void showage void test1 int main 注意這裡 person addage person p 返回的...

程式設計初步

1 乙個分支的if語句 2 if else 二分支選擇結構 多分支選擇結構 if else 兩個語句可以新增括號表示等價的潛逃匹配關係。switch 表示式 注意 1。表示式型別為整形,字元型或列舉型,不能為浮點型。2。break可使用來簡化過程。3。case的內容不能重複。4。運算子加單引號。如果...