c語言 指標學習

2021-07-23 04:34:12 字數 641 閱讀 8308

最近重翻了c語言程式設計這本書,有了一些新的感觸,這本書從資料型別、運算子和表示式、迴圈和選擇結構、輸入輸出、陣列、指標、字串、函式、構造體和檔案操作等方面來深入淺出的介紹c語言。當然最令人印象深刻的是指標。

指標是存放著變數的位址的變數的資料型別,換言之,指標變數儲存的是變數的位址值,由於指標可以直接操作記憶體,這使得程式的效率大大加快。因為陣列名等價於陣列的首位址,在看指標的某些運用的時候,如指標下標法,有種指標和一維陣列除了定義的時候不同之外沒有什麼不同,但之後看過一些資料之後就發現,陣列名是常量指標,意味著其不能進行像指標變數那樣的賦值操作,這樣靈活性就大大不如指標變數。在用指針對二維陣列進行操作的時候,常用行指標和列指標,定義的方式分別是int a[10][10];                int (*p)[10];p=a和int *p;p=*a;這兩種都可以將二維陣列看作一維陣列的方式來操作,行指標可以用p[0][0]來引用陣列元素,而列指標不能。指標的運用很靈活,陣列必須指定大小而實際程式設計陣列的大小常事先不知,但指標初始可以賦值為空指標,所以可以向某段記憶體連續寫入值並把該位址儲存到連續的指標變數中,從而形成動態陣列。之後的結構體的概念引入,結構體內含屬性和指向下一段記憶體的指標變數,這稱為節點,頭指標指向起始節點,節點相連,從而形成鍊錶。

個人對指標的了解僅限於此,希望在接下的學習中可以能更加深入理解。

學習C語言指標

先看個程式,是華為2005年招聘筆試題之一 include main int p,q p a q a 2 printf a p q d n q d n p d n q p d n a q p q,p,q p getch 執行結果 a q p 3 q 42 p 46 q p 2 6.3 指標的運算 指...

C語言指標學習

一 明確幾個符號 1 取位址符,取值符 1 char a 別用cha a null,容易引起歧義 例如char a b 其實是定義指標a,和char型變數b。定義多個指標用 char a null,b null 2 定義指標時初始化 因為指標a到底指向 我們不知道。隨便改變這個位址的值,可能導致一些...

c語言指標學習筆記

example 1 int a,b,p,q p a p a p q b p p a 錯誤,因為p實際上是乙個位址,而a是乙個整型值 p q 錯誤,因為這句話的意思是 將位址q指向的單元的值賦給位址p。而實際上p是乙個位址,是不能存值得 p a 錯誤 注意,如果這樣定義了 p,那麼 p表示位址 指標 ...