定義變數:按型別分配空間
型別 變數名;
型別 陣列名;
陣列名[下標]
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函式來動態申請記憶體 普通變數是儲存在棧區,動態...