C語言必須理清的概念 2

2022-07-30 20:06:31 字數 1342 閱讀 6146

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 記憶體中每個位元組...