論述C語言中指標的概念和作用,並舉例說明

時間 2021-08-30 09:31:59

1樓:申恆酈英縱

指標是c語言中廣泛使用的一種資料型別。

運用指標程式設計是c語言最主要的風格之一。利用指標變數可以表示各種資料結構;

能很方便地使用陣列和字串;

並能象組合語言一樣處理記憶體地址,從而編出精練而高效的程式。指標極大地豐富了c語言的功能。

學習指標是學習c語言中最重要的一環,

能否正確理解和使用指標是我們是否掌握c語言的一個標誌。同時,

指標也是c語言中最為困難的一部分,在學習中除了要正確理解基本概念,還必須要多程式設計,上機除錯。只要作到這些,指標也是不難掌握的。

指標的基本概念

在計算機中,所有的資料都是存放在儲存器中的。

一般把儲存器中的一個位元組稱為一個記憶體單元,

不同的資料型別所佔用的記憶體單元數不等,如整型量佔2個單元,字元量佔1個單元等,

在第二章中已有詳細的介紹。為了正確地訪問這些記憶體單元,

必須為每個記憶體單元編上號。

根據一個記憶體單元的編號即可準確地找到該記憶體單元。記憶體單元的編號也叫做地址。

既然根據記憶體單元的編號或地址就可以找到所需的記憶體單元,所以通常也把這個地址稱為指標。

記憶體單元的指標和記憶體單元的內容是兩個不同的概念。

可以用一個通俗的例子來說明它們之間的關係。我們到銀行去存取款時,

銀行工作人員將根據我們的帳號去找我們的存款單,

找到之後在存單上寫入存款、取款的金額。在這裡,帳號就是存單的指標,

存款數是存單的內容。對於一個記憶體單元來說,單元的地址即為指標,

其中存放的資料才是該單元的內容。在c語言中,

允許用一個變數來存放指標,這種變數稱為指標變數。因此,

一個指標變數的值就是某個記憶體單元的地址或稱為某記憶體單元的指標。圖中,設有字元變數c,其內容為「k」(ascii碼為十進位制數

75),c佔用了011a號單元(地址用十六進數表示)。設有指標變數p,內容為011a,

這種情況我們稱為p指向變數c,或說p是指向變數c的指標。

嚴格地說,一個指標是一個地址,

是一個常量。而一個指標變數卻可以被賦予不同的指標值,是變。

但在常把指標變數簡稱為指標。為了避免混淆,我們中約定:「指標」是指地址,

是常量,「指標變數」是指取值為地址的變數。

定義指標的目的是為了通過指標去訪問記憶體單元。

既然指標變數的值是一個地址,

那麼這個地址不僅可以是變數的地址,

也可以是其它資料結構的地址。在一個指標變數中存放一

個陣列或一個函式的首地址有何意義呢?

因為陣列或函式都是連續存放的。通過訪問指標變數取得了陣列或函式的首地址,

也就找到了該陣列或函式。這樣一來,

凡是出現陣列,函式的地方都可以用一個指標變數來表示,

只要該指標變數中賦予陣列或函式的首地址即可。這樣做,

將會使程式的概念十分清楚,程式本身也精練,高效。在c語言中,

一種資料型別或資料結構往往都佔有一組連續的記憶體單元。

用「地址」這個概念並不能很好地描述一種資料型別或資料結構,

而「指標」雖然實際上也是一個地址,但它卻是一個資料結構的首地址,

它是「指向」一個資料結構的,因而概念更為清楚,表示更為明確。

這也是引入「指標」概念的一個重要原因。

2樓:柯中左鶯語

1、指標概念:變數的地址(計算機記憶體位元組的編號)叫做指標,存放變數地址的變數叫指標變

量,簡言之,指標是用來存放地址的。

2、作用:指向這個變數或陣列的首地址,是變數的間接引用方式。其值如果改變,變數的值或陣列元素的值也會跟著改變。

程式對變數的操作實際上是對變數所在的儲存空間讀取和寫入資料。方便對變數的操作。

舉例說明:

inta=3;/*定義一個整型變數a,並賦初值3*/int*p;/*定義一個指標變數p*/

p=&a;/*讓p指向a的首地址,也就是a的地址*/程式為a分配一個2個位元組的儲存單元,假如2個位元組的地址分別為(abcd1和abcd2,唯一),那麼p裡面放的值就是abcd1,不是3。這時可通過p直接引用a,實際上*p=3。以後不管a存放在記憶體中的哪個地方,只用通過呼叫p就可以引用a。

這時如果令*p=4,則最後的a值也為4。對於陣列,指標是指向陣列的首地址。

3樓:夷詠緒如彤

自己去看這本書吧,上面有關於指標的上百個例子和詳細的程式註釋。

4樓:彭珂的課堂

c語言_071_指標的定義和使用_上

c語言中指標的概念和用法?

5樓:羽孝姬娟

1.記住一些關鍵字

2.熟練使用輸入輸出

3.學好陣列和指標

指標就是記憶體地址,記住這點很有幫助

6樓:養時芳呼詩

指標好比一把bai鑰匙,原du本你開啟一個文zhi件只要有這個

dao檔案的地址就行,但為了專安全屬你可以吧檔案的地址放在保險櫃裡,而保險櫃的鑰匙就是指標。指標怎麼用,當然是先定義指標變數,再將一個儲存區域的地址賦給這個指標變數,如:int

a,*p;p=&a;那麼*p==a了。*是指向的意思

c語言指標的概念

7樓:匿名使用者

指標是c語言中廣泛使用的一種資料型別。 運用指標程式設計是c語言最主要的風格之一。利用指標變數可以表示各種資料結構; 能很方便地使用陣列和字串; 並能象組合語言一樣處理記憶體地址,從而編出精練而高效的程式。

指標極大地豐富了c語言的功能。 學習指標是學習c語言中最重要的一環, 能否正確理解和使用指標是我們是否掌握c語言的一個標誌。同時, 指標也是c語言中最為困難的一部分,在學習中除了要正確理解基本概念,還必須要多程式設計,上機除錯。

只要作到這些,指標也是不難掌握的。

指標的基本概念 在計算機中,所有的資料都是存放在儲存器中的。 一般把儲存器中的一個位元組稱為一個記憶體單元, 不同的資料型別所佔用的記憶體單元數不等,如整型量佔2個單元,字元量佔1個單元等, 在第二章中已有詳細的介紹。為了正確地訪問這些記憶體單元, 必須為每個記憶體單元編上號。

根據一個記憶體單元的編號即可準確地找到該記憶體單元。記憶體單元的編號也叫做地址。 既然根據記憶體單元的編號或地址就可以找到所需的記憶體單元,所以通常也把這個地址稱為指標。

記憶體單元的指標和記憶體單元的內容是兩個不同的概念。 可以用一個通俗的例子來說明它們之間的關係。我們到銀行去存取款時, 銀行工作人員將根據我們的帳號去找我們的存款單, 找到之後在存單上寫入存款、取款的金額。

在這裡,帳號就是存單的指標, 存款數是存單的內容。對於一個記憶體單元來說,單元的地址即為指標, 其中存放的資料才是該單元的內容。在c語言中, 允許用一個變數來存放指標,這種變數稱為指標變數。

因此, 一個指標變數的值就是某個記憶體單元的地址或稱為某記憶體單元的指標。圖中,設有字元變數c,其內容為「k」(ascii碼為十進位制數 75),c佔用了011a號單元(地址用十六進數表示)。設有指標變數p,內容為011a, 這種情況我們稱為p指向變數c,或說p是指向變數c的指標。

嚴格地說,一個指標是一個地址, 是一個常量。而一個指標變數卻可以被賦予不同的指標值,是變。 但在常把指標變數簡稱為指標。

為了避免混淆,我們中約定:「指標」是指地址, 是常量,「指標變數」是指取值為地址的變數。 定義指標的目的是為了通過指標去訪問記憶體單元。

既然指標變數的值是一個地址, 那麼這個地址不僅可以是變數的地址, 也可以是其它資料結構的地址。在一個指標變數中存放一

個陣列或一個函式的首地址有何意義呢? 因為陣列或函式都是連續存放的。通過訪問指標變數取得了陣列或函式的首地址, 也就找到了該陣列或函式。

這樣一來, 凡是出現陣列,函式的地方都可以用一個指標變數來表示, 只要該指標變數中賦予陣列或函式的首地址即可。這樣做, 將會使程式的概念十分清楚,程式本身也精練,高效。在c語言中, 一種資料型別或資料結構往往都佔有一組連續的記憶體單元。

用「地址」這個概念並不能很好地描述一種資料型別或資料結構, 而「指標」雖然實際上也是一個地址,但它卻是一個資料結構的首地址, 它是「指向」一個資料結構的,因而概念更為清楚,表示更為明確。 這也是引入「指標」概念的一個重要原因。

8樓:匿名使用者

開闢一個地址空間

空間中的內容記錄的是

另一個地址

對他指向的資料進行操作

和直接對變數操作是一個意思

請問c語言中 指標是什麼?有什麼作用?請用通俗的語言解釋

9樓:匿名使用者

通俗的說,就是你家的門牌號,

簡單地說指標就是指向變數和物件的地址。

指標的用途非常廣泛,比如如果你想通過函式改變一個變數的值,就得用指標而不能用值傳遞。還有在很多時候變數,特別是物件的資料量實在太大,程式設計師就會用指標來做形參,只需要傳遞一個地址就行,大大提高了效率。

以上還只是指標的初步應用,隨著你在c語言學習上的逐步深入,你會發現更多的用途的

10樓:笛芭訪

c語言中,指標變數代表的是一個地址,這個地址可以是變數的,也可以是涵數的,陣列的等等,這樣我們通過指標變數就可以訪問到變數地址中存放的內容,或是呼叫函式等,它非常靈活,具體的好處在程式設計中你才能慢慢體會到的,好好學習吧。

11樓:匿名使用者

在電腦裡定義一個量時會在記憶體中申請一的地址來存放這個值,

而指標就是一個存放值的地址的變數求採納

關於c語言中指標賦值的問題,關於C語言中指標賦值的問題

計算天下 你這樣想說明你還沒有真正理解記憶體和指標。int a 表示編譯器隨機取出一個空閒的地址分配給a,不妨設為00000000,長度為sizeof int 不同編譯器可能不同。int p 也表示隨機取出一個空閒的地址分配給p,不妨設為000000f0,長度一般為4個位元組,則這四個位元組現在儲存...

關於C語言指標自增運算的問題,c語言中指標可不可以用在自增自減運算子中

搗蒜大師 這寫操作等價 p p 都是p加,然後 這些操作等價 p p p 相當於先 了,然後p再 include main p 指向2 printf d n p 2 p p 1 p指向3 printf d n p p指向4,再 4 p p 1 p指向5 printf d n p 5,p指向6 p p...

怎麼理解C語言指標中a b,c語言中,指標問題! a b和a b,有什麼不同?a是指標

豬頭或火寶寶 你好!首先我們已經知道 a,b,都是指標變數,a表示指標變數所指向的值,同樣 b也是如此。a b就是表示把指標b所指向的值賦值給指標變數a所指向的值。但是要是指標a要是沒有初始化或是開闢空間的話,這樣賦值就有危險!例如 int a int b 5 a b 首先宣告一個指標變數a,但是系...