C語言修煉之路初識指標陰陽竅位址還歸大道真下篇

2022-10-08 16:03:18 字數 660 閱讀 5111

目錄

概念:野指標就是指標指向的位置是不可知的(隨機的、不正確的、沒有明確限制的)指標變數在定義時如果未初始化,其值是隨機的,指標變數的值是別的變數的位址,意味著指標指向了乙個位址是不確定的變數,此時去解引用就是去訪問了乙個不確定的位址,所以結果是不可知的.

1.指標未初始化

2.指標越界訪問

3. 指標指向的空間釋放

這部分的內容將會在動態記憶體開闢的時候講解,這裡可以簡單提示一下。

判斷一下下面的**結果是什麼? 

最後得到的是兩個指標間元素的個數 

陣列名是什麼?我們看乙個例子

可見陣列名和陣列首元素的位址是一樣的。

結論:陣列名表示的是陣列首元素的位址。

那麼這樣寫**是可行的:

既然可以把陣列名當成位址存放到乙個指標中,我們使用指標來訪問乙個就成為可能。

例如: 

所以p+i其實計算的是陣列arr下標為i的位址。

那我們就可以直接通過指標來訪問陣列。

如程式設計客棧下:

指標變數也是變數,是變數就有位址,程式設計客棧那指標變數的位址存放在**? 這就是二級指標。 

指標陣列是指標還是陣列?

答案:是陣列。是存放指標的陣列。

陣列我們已經知道整形陣列,字qxwttxbr符陣列。

那指標陣列是怎樣的?

C語言 初識指標

指標變數 格式一 型別名 指標變數名1,指標變數名2.int p char ch int a char c 指標的作用都一樣的,都是用來存放位址的,為什麼還要分型別的原因是指標變數p只能存放整型變數位址,指標變數ch只能存放字元變數位址。如何讓乙個指標存放乙個變數位址呢?p a ch c 叫做取址符...

初識C語言 指標

記憶體是電腦上特別重要的東西,計算機中所有的程式的執行都是在記憶體中進行的。所以為了有效的使用記憶體,就把記憶體劃分為乙個個小的記憶體單元,每個記憶體單元的大小是1位元組。為了能夠有效訪問到記憶體的每個單元,就給記憶體單元進行了編號。這些編號被稱為該記憶體單元的位址。位址即編號。那麼取出來的位址怎麼...

C語言指標初識

定義指標變數,在變數名前面加星號 格式為 int a datatype pointname int p p a 或者 int a datatype pointname value int p a 定義指標變數時必須帶 給指標變數賦位址值時不能帶 等於乙個位址即可改變指標指向。1 定義普通變數 2fl...