指標與變數的關係

2021-08-21 17:47:51 字數 840 閱讀 1389

定義變數:按型別分配空間

型別   變數名;

型別   陣列名;

陣列名[下標]

1、指標與一維普通陣列

指標陣列:專門用於存放指標的陣列

型別* 陣列名[長度]         eg:int* buf[10]

引用元素:陣列名[下標法]

2、指標與二維陣列:int buf[10]   int buf[3][4]

一維陣列名:是指向該行第一列

buf+0第一行   buf+1第二行

(1)buf1+0第一行  buf1+1第二行   buf1行位址

(2)buf1[0]   buf1[1]   buf1[2]   三個一維陣列組成的乙個int buf1[3][10]的二維陣列

所以buf1[0]等價於一維陣列的名字(列)

buf1[0]+0第一行的第一列   buf1[0]+1第一行 第二列的位址

3、引用內容:必須確定到行和列

buf1[2][2],*(buf1[2]+2),*(*(buf1+2)+2,(*(buf1+2))[2]

4、二維指標變數:型別 (*指標變數)[列]

1、結構體:自定義型別

2、結構體變數:分配空間按型別分配

3、定義結構體指標變數:struct 型別* 變數名

4、引用成員:

變數.成員

指標->成員;

(*指標).成員;

注:指標變數必須指向乙個元素

5、優先順序:

. > * >運算子》邏輯運算子》賦值

6、結構體指標陣列:

型別* 陣列名[長度]

struct people* buf[10];

指標與指標變數

1 i pointer是乙個指標變數,而 i pointer表示i pointer所指向的變數即i。下面兩個語句作用相同 i 3 i pointer 3 2 定義指標變數 基型別 指標變數名 下面都是合法的定義 float pointer 3 pointer 3是指向單精度型資料的指標變數 char...

C語言記憶體模型與指標以及變數的關係

記憶體模型 記憶體分割槽 圖 示例 include int gdata1 10 data int gdata2 0 bss int gdata3 bss段程序執行時,作業系統為.bss初始化為0 static int gdata4 11 data static int gdata5 0 bss st...

探索變數與指標的關係 從記憶體中觀察

c語言中,指標是很重要的乙個功能,但想要用好指標卻不是一件容易的事,本篇從記憶體儲存的資料出發,通過對比變數與指標在記憶體中究竟是怎麼儲存的,來對指標有乙個直觀的認識。下面編寫乙個測試程式來驗證一下,該程式定義了一些變數與指標,另外,還使用malloc函式來動態申請記憶體 普通變數是儲存在棧區,動態...