指標初探
文章目錄
- 指標初探
- 前言
- 一、指標定義
- 1.指標的含義
- 2.指標簡單型別
- 3.指標初始化
- 二、陣列指標與指標陣列
- 1.指標陣列
- 2.陣列指標
- 總結
前言
指標初探
一、指標定義
1.指標的含義
想要理解指標的含義,首先要明白資料 變數在記憶體存盤都會開辟出一塊塊空間,而這每一塊空間都有自己特有的編號,也就是該變數的地址,我們也可以簡單理解為指標就是地址,我將畫圖來加深大家理解:
int a = 10;//創建變數a 并賦值10給a
int* pa = &a;//&為取地址符號 取出a的地址 存盤在變數pa中 pa指向a
在這里插入圖片描述

指標變數名pa內部存的就是a的地址,如果我們想通過pa這個房間名找到客人10則通過* 如下
*pa //通過*解參考 即可得到10 *pa與a等同
2.指標簡單型別
int* float* double* void*等等
一般指標型別是由其指向物件所決定的 如我們創建一個int型別的變數
int a = 10;
那么我們想創建一個指標變數來指向a 則應該如下創建
int* pa = &a;
3.指標初始化
指標變數與其它變數一樣,在定義時可以賦值,即初始化,也可以賦值“NULL”或“0”,如果賦值“0”,此時的“0”含義并不是數字“0”,而是 NULL 的字符碼值,

二、陣列指標與指標陣列
1.指標陣列
指標陣列本質就是陣列,只不過該元素型別為指標型別 列如:
int a =10;int b =20;
int*arr[2]={&a,&b};
或
int *pa =&a;int* pb =&b;
int *arr[2]={pb,pa};
arr為指標陣列名 里面存放兩個元素 每個元素型別都為int*
2.陣列指標
陣列指標本質就是指標 該指標指向物件為陣列型別的 類如:
int arr[5]={1,2,3,4,5};
int(*str)[5]=&arr;
如果我們想通過陣列指str來列印arr里的元素 該如何呢 應:

我們先str得到是arr的陣列名 而素組名是該陣列的首元素地址 即arr中元素1的地址 我們再通過解參考該地址 即可得到 arr陣列元素
但這樣做未免太復雜了我們完全可以通過int型別的指標來完成 如:

所以陣列指標一般用在二維素組 如:

其中*((*str+j)+i)) 相當于arr[j][i]
總結
以上 就是指標初探的全部內容 作者能力有限 如有錯誤 希望不吝賜教!
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/330370.html
標籤:其他
