C 語言 指標簡介

2021-10-05 17:57:40 字數 1478 閱讀 1635

指標是 c 語言中乙個重要的概念,是 c 語言中乙個重要特色,也是 c 語言的精髓、靈魂所在。正確而靈活的運用它,可以有效地表示複雜的資料結構;能動態分配記憶體;能方便地使用字串;有效而方便地使用陣列。掌握指標的應用,可以使程式簡潔、緊湊和高效。

大約 40% 的選擇題與指標有關。對指標的掌握程度可以反映程式設計能力。

變數的位址和指標

指標變數的定義和指標變數的基型別給指標變數賦值對指標變數的操作函式之間位址值的傳遞可以通過變數名訪問記憶體。

記憶體的最小索引單元是位元組(byte)。可以把記憶體想象成乙個超大的字元陣列。我們知道,陣列是通過下標來訪問的,那麼訪問記憶體是否有類似的呢?

乙個位址可以存放乙個位元組的資料。

位址 存放的值

……10000 『i』

10001 『l』

10002 『o』

10003 『v』

10004 『e』

10005 520

10006

10007

10008

10009 『u』

……變數名方便程式設計師。變數名對應著位址。

指標和指標變數。指標是位址的意思,c 語言裡面有專門的指標變數用於存放指標。

指標變數佔 4 個位元組。

型別名 *指標變數名

char

*pa;

// 定義乙個指向字元型的指標變數

int*pb;

// 定義乙個指向整型的指標變數

我們使用 * 符號把 pa 和 pb 宣告為指標。

char

*pa =

&a;int

*pb =

&b;

如果需要訪問指標變數指向的資料,可以使用取值運算子(*):

printf

("%c, %d\n"

,*pa,

*pb)

;

直接通過變數來訪問變數的值叫做直接訪問,比如說 a = 3 ,通過 *pa = 3 稱為間接訪問。取值運算子也稱為間接運算子。

#include

intmain()

執行結果:

a = g

b = 123

now a = f

now b = 124

sizeof a = 4

sizeof b = 4

the address of a is 0118fa57

the address of b is 0118fa48

例如:

#include

intmain()

定義了乙個整形指標卻沒有初始化。a 卻實是乙個指標,可是我們不知道它指向**。

C語言 基礎指標簡介

所謂指標,就是乙個特殊的變數,它裡面儲存的數值被解釋成為記憶體裡的乙個位址。這裡介紹一小部分 首先,介紹聲名指標變數 int p 乙個整形數p int p 乙個指標p int p 50 乙個陣列p,其中的所有資料均為int int p 50 乙個陣列p,其中的資料型別均是指標 這裡 是取位址運算子,...

C 語言簡介

1972年美國貝爾實驗室的 dennis ritchie 在 b 語言的基礎上設計出了一種新的程式語言 c 語言,c 語言是一種通用的,面向過程的程式語言,廣泛用於系統軟體與應用軟體的開發。k r c 1978年,brain kernighan 和 dennis ritchie 出版了 the c ...

C語言簡介

c 語言是一種通用的高階語言,最初是由丹尼斯 里奇在貝爾實驗室為開發 unix 作業系統而設計的。c 語言最開始是於 1972 年在 dec pdp 11 計算機上被首次實現。在 1978 年,布萊恩 柯林漢 brian kernighan 和丹尼斯 里奇 dennis ritchie 製作了 c ...