C語言之指標(一)

2021-10-04 10:04:55 字數 1253 閱讀 7236

一、指標的定義、初始化及解引用

1、什麼是指標?

在對程式進行編譯時系統會給每個變數分配記憶體空間,在對乙個變數進行操作時,會先對它的記憶體空間進行定址,每乙個變數都有它自己的位址,指標就相當於變數位址,通過指標能找到變數的記憶體單元。

2、直接訪問和間接訪問

直接到變數名標識的儲存單元中讀取變數的值叫做「直接定址」

列如:

#include

intmain()

將變數a的位址存放到另一變數中,然後通過該變數找到變數a的位址,從而讀取變數a的值叫做「間接定址」

列如:

#include

intmain()

3、指標變數的定義和初始化

定義指標變數的一般形式為:型別名 *指標變數名;

列如:int *pa

int a;

int*pa;

float b;

pa=&a;

//指標變數pa的基型別和變數a的基型別相同,所以正確

pa=&b//指標變數pa的基型別和變數b的基型別不同,所以此操作錯誤

在同時定義多個指標變數時要在每個指標變數前都加∗

*∗列如:

int

*pa,

*ch;

在給指標變數進行初始化時可以在定義時進行,也可以在定義之後進行

列如:

int a=0;

int*pa=

&a;//在對指標變數進行定義對指標變數進行賦值

pa=&a;

//在對指標變數進行定義之後再對指標變數進行賦值;注意不能寫成 *pa=&a

在使用指標變數之前必須對指標變數進行初始化

列如錯誤編碼:

#include

intmain()

正確編碼:

#include

intmain()

使用指標變數訪問儲存單元中的資料

#include

intmain()

在定義指標變數時 int ∗

*∗pa; 指標變數是pa而不是 ∗

*∗pa;在定義指標變數之後的pa是指位址,∗

*∗pa是指指標變數pa所指的記憶體單元內的資料

C語言之指標(一)

指 針 是 一 個 特 殊 的 變 量 它 裡 面 存 儲 的 數 值 被 解 釋 成 為 內 存 裡 的 一 個 地 址 要 搞 清 一 個 指 針 需 要 搞 清 指 針 的 四 方 面 的 內 容 指 針 的 類 型 指 針 所 指 向 的類 型 指 針 的 值 或 者 叫 指 針 所 指 向...

C語言之指標

指標型別的本質分析 1 指標的本質 指標的本質 一種復合的資料型別。下面我將以下面幾個作為例子進行展開分析 a int p b int p c int parvalue 3 d int pfun 分析 所謂的資料型別就是具有某種資料特徵的東東,比如資料型別char,它的資料特徵就是它所佔據的記憶體為...

C語言之指標

指標的概念 什麼是指標?如果用一句話概括的的話那就是,乙個存放記憶體空間位址的變數。指標也是乙個變數,指標存放的內容是乙個位址,該位址指向乙個記憶體空間。指標變數的定義 int p 該變數用來存放乙個空間的位址。p 代表該指標指所指向記憶體空間中的值,切記指標只能存放有效的記憶體空間位址,不能存放其...