1.6指標陣列和陣列指標
★指標陣列
型別名 * 陣列名[陣列長度]
int *p[8];
★陣列指標
型別名( * 陣列名)[陣列長度]
int (*p)[8];
☆p先與結合,說明p是乙個陣列,然後再與*結合說明陣列p的元素是指向整型資料的指標,相當於定義了8個整型指標變數,用於存放位址單元。
b就是陣列元素為指標的陣列,本質是陣列。
☆p先與*結合,是乙個指標,指標指向有8個整型元素陣列,p為指向陣列首元素位址的指標,其本質是指標。
舉例:////
1.7指標函式和函式指標
指標函式:本質是函式,返回的是某種型別的指標
型別識別符號 * 函式名 (參數列)
函式指標要與它所指向的函式具有相同型別。
用 函式指標名=函式名 的方式來引用函式。
1.8傳值和傳址
傳值:函式呼叫過程中引數傳遞,把實參傳遞給形參,堆形參修改不會影響實參,對形參的修改只是修改實參的乙個備份,不會影響到實參。
1.9遞迴和巢狀
遞迴:函式在呼叫的過程中自身即使主函式也是被調函式,如果在使用遞迴呼叫過程中沒有停止條件,將會無限制的進行下去,直到程式崩潰。
在使用遞迴呼叫的時候,一定給乙個停止條件。
巢狀:在乙個函式中呼叫另外乙個函式,不能在乙個函式中定義另外乙個函式。
//遞迴例子:猴子吃桃
10.1結構體
因為陣列只能用來儲存相同型別的資料,而我們時常需要將一些不同型別的元素放在一起,這就可以利用結構體,將這些元素型別封裝在一起,得到一種新的自定義資料型別。
struct 結構體名
成員型別 成員名;
結構體為它的每乙個成員都分配儲存空間;
函式的返回型別可以定義結構體等復合型別。
結構體所占用的記憶體大小,為所有成員各自占用的記憶體大小之和。
1.11共用體
一種構造型別,由基本資料結構組成。
占用的記憶體大小由其成員中占用記憶體最大的那個決定,所有成員占用同乙個起始位址和同一段記憶體空間,在某一時刻,只能儲存某一成員的資訊。
在使用結構體和共用體進行巢狀的時候,注意其中成員的引用方法,從最外層變數開始引用他的成員,如果它的成員是共用體或結構體的變數,那直接以共用體或結構體型別變數的方式引用它的成員變數。
1.12列舉
一一枚舉,將具有相同屬性的一類資料一一枚舉出來。
enum 列舉型別名
標示符1 【=整形常熟】;
1.13位域
有時候並不需要占用完整的位元組,只需要佔乙個或幾個二進位制位。
位域:把儲存空間中二進位制劃分為幾個不同的區域,並說明每個區域,每個區域有乙個網域名稱,允許在程式中按網域名稱進行操作。
C語言的概念
c程式是由什麼構成的?函式c程式的原始檔拓展名是什麼?c 或者 c c程式的原始檔能直接執行麼?為什麼?不能直接執行。因為計算機只能識別0和1,原始檔包含了很多c語言的英文 計算機是不可能看懂的 c程式從開發到執行需要哪些步驟?1 編寫.c原始檔 2 編譯.c原始檔為.o目標檔案 3 鏈結.o目標檔...
C語言的重要概念
一 c語言的指標 1.指標說明 指標是包含另一變數的位址的變數。1 int p p是乙個指標,指向乙個整型數。2 int p p是乙個函式,該函式返回乙個指向整數的指標。3 int p p是乙個指標,該指標指向乙個函式,這個函式返回乙個整數。4 int p p是乙個陣列,該陣列的每乙個元素是指向整數...
C語言指標的概念
計算機中所有的資料都必須放在記憶體中,不同型別的資料占用的位元組數不一樣,例如 int 占用4個位元組,char 占用1個位元組。為了正確地訪問這些資料,必須為每個位元組都編上號碼,就像門牌號 身份證號一樣,每個位元組的編號是唯一的,根據編號可以準確地找到某個位元組。下圖是 4g 記憶體中每個位元組...