對於指標學習的理解

2021-09-25 19:39:40 字數 1295 閱讀 2548

在最近的一段時間裡,我c語言的學習也即將接近尾聲,在這裡我想對指標的學習寫下自己的一點看法和理解,不夠全面也不是完全正確,但我希望這作為我對這段時間學習的一次總結。

指標的概述:

指標是一種變數型別,它與普通變數不同的是,指標裡存的是位址,指向另一變數,起到索引的作用。我所理解的指標具備三要素:1.指標本身的值(即所指物件的位址)2.指標所指的物件(型別等)3.指標的位址(指標的指標)。另外,指標型別的變數在記憶體中的儲存具有固定的大小,32位作業系統中,指標型別變數一般都佔4個位元組。**

指標在c語言的地位:

c語言作為基礎語言,我認為它的靈魂就在於指標,指標是可以直接對記憶體進行操作的一種工具,在c語言中占有重要的地位,甚至說學好了指標就掌握了c語言的核心。當然核心也是最難的一部分,難理解,並且理解了也需要大量的練習才可以將它學以致用。

指標的一般形式:

型別識別符號 *指標變數名(例如:int *p; 定義了指標變數p) 對於如何讓辨別指標的型別,我自己的方法就是去掉後面的變數名,就是指標的型別。例如:int *p,去掉p就是int *型別的變數,char *p,去掉p就是char *型別的指標變數。當然一些二級指標也可以用同樣的方法。所謂的二級指標,即指標的指標,也就是存放位址的位址的地方。如:int **p。

&與 *

&簡單來說就是取位址的符號。如在記憶體中有乙個變數p,&p就表示取變數p的位址,printf出來就是p在記憶體中的位址。我們在編寫程式是需要從鍵盤獲取變數時,例如:通常會有scanf(「%d」,&p)。而「 * 」號則表示兩重含義,乙個在定義變數的時候,它表示定義的變數是指標型別的,而在取值等操作的時候,則表示取這個指標裡存放的位址所指向的值。二級指標裡則表示取這個指標所指向的指標裡存放的位址。

指標的使用

指標的使用我相信在學習中我們會遇到很多,不管是最基本的通過指標改變值,還是結構體,函式裡的指標,這些都是我們會用到很多指標的地方,通過指標我們可以完成很多複雜難以完成的操作。當然也是需要具體問題具體對待,對於剛入門的我現在只是體會到了指標的神奇,關於他的使用我也是剛剛開始,在以後的部落格中我會繼續寫下我的心得體會。

結束語

學習的過程是漫長而又沒有盡頭的,對於計算機程式語言,更是需要去終生學習的。指標作為基礎語言c語言的核心所在,我相信用心去學習,去練習,去使用。不要害怕學不懂,只要找對了方法自然有豁然開朗的時候。重要的不是結果,而是學習的過程中我們積累的經驗還有總結的學習方法,這對我們以後學習任何一門語言甚至是其他方面的知識都是大有益處的。加油!

對於指標的理解

就是記憶體中間開闢了一塊區域存放資料的位址,這個位址就叫做指標 指標的定義服從必須的格式 整型資料 int p a 陣列 int p arr 這樣就使得p存放了資料的位址 可以理解為p 0x0000 當涉及到指標與函式的時候 includeusing namespace std void swap0...

對於各種指標的理解

在定義指標變數時,用 type 的方式 例如 int p char ch 說明一點,和變數名沒關係,也可以寫成如下風格,單獨的p和ch叫做指標變數 int p char ch 乙個指標只能指向與它型別相同的型別 如下 int a 0 int p a char ch a char q ch int p...

對於c指標 的理解

對於乙個指標型別的變數int p,其指類 指類 其所指向的空間的資料型別 為int,並且假設其定義 在乙個主函式中 定義在任意函式中都行 若在其前面加乙個 符並且將這個 p傳遞到乙個自己定義的函式 中,也就是將實參 p傳到乙個函式中去 其本質是將p的首位址取出來,作為實參傳到函式中去,形參head ...