13 C語言總結

2021-06-26 23:24:02 字數 2724 閱讀 9031

#pragma mark - 第一章:c基礎

void func1();

void func1()

#pragma mark - 第二章:分支結構

void func2();

void func2()

; printf

("autumn = %d",

autumn);

// 結果: 需要注意的是,列舉變數的值是上乙個值 +1

// autumn = 5

}#pragma mark - 第三章:迴圈結構

void func3();

void func3()

}#pragma mark - 第四章:陣列

void func4();

void func4()

;int b[5] = ;

int c[5] = ;

int d  = ;

// 注意這些的區別,個數不寫的話會自動計算,寫了個數不能超,不寫的預設是0

// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

int count = 10;

// int arr[count] = ; // 注意,這種寫法是錯誤的,變數不可以放在陣列定義的中括號中,可以是常量和巨集定義

int arr[10] = ;

#define karraycount 10

int arr2[karraycount] = ;

// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

// 系統不會檢測陣列下標是否越界,所以我們程式設計師一定要注意陣列下標越界的問題

// 陣列是乙個整體,不能直接參加運算,只能對單個元素進行處理,通常用到陣列的地方都會用到迴圈

// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

// 氣泡排序寫法

int array = ;

int arraycount = sizeof(array) / sizeof(int);

// 雙層迴圈

for (int i = 0; i < arraycount - 1; i++)

} }

// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

// 字元陣列兩種寫法:

char str1 = ;

char str2 = "iphone";

// 字串預設使用 '\0' 作為結束標示,使用雙引號的方式,自帶 '\0' , 使用陣列的方式,需要手動新增 '\0' 才可以成為字串

}#pragma mark - 第六章:函式

void func6();

void func6()

#pragma mark - 第七章:結構體

void func7();

void func7()

student;

// 建立變數

student stu = ;

// 訪問成員變數,使用 『.』 的方式訪問

printf

("name = %s age = %d score = %.2f\n", stu.

name

, stu.

age, stu.

score);

// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

// 結構體是可以巢狀的

// 訪問的時候,使用 '.' 依次找到例項變數進行操作

// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

// 結構體變數可以直接賦值

// 我們可以通過把陣列放在結構體中,實現陣列的直接運算

// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

// 結構體內存占用

// 以最大成員變數型別所佔空間為分配單位

// 按結構體成員宣告順序自上而下分配

// 注:分配空間不足以儲存成員變數時,分配新的空間單位

}#pragma mark - 第八章:指標

void func8();

void func8()

;int *p1 = array;

// 陣列名代表陣列的首位址,用指標指向陣列的時候,直接把陣列名賦給指標變數即可,不需要使用『&』符號

// 陣列名和指標的使用方式一樣

// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

// 指標與結構體

// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

// 指標與結構體

// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

//詳細內容見: }

#pragma mark - 第九章:結構體指標

void func9();

void func9()

student;

student stu = ;

// 指標指向結構體變數,型別需要相同

student *p = &stu;

// 使用指標訪問結構體成員,很特殊,使用 '->'

printf

("name = %s age = %d\n", p->

name

, p->

age);

// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

// 巨集定義

#define sum(a, b) ((a) + (b))

13 C語言提高(三)

1.結構體中指標變數的深拷貝和淺拷貝 疑問點記錄 char p char malloc 100 strcpy p,renzhenming 這兩行 定義了乙個字元指標p,他指向堆記憶體中一段空間,這一段空間儲存了乙個字串renzhenming,那麼既然這個指標指向了這塊記憶體,那麼我通過取指標元素符號...

C 學習總結(13) C 的引用

作用 給變數起乙個別名 語法 資料型別 別名 原名 b是a的別名,所以b改變,a也會改變。引用必須初始化 必須就讓引用等於誰,例 int b a 引用在初始化後,不可以改變。b是a的別名後,不能再做別的變數的別名。作用 函式傳參時,可以利用引用的技術讓形參慘飾實參。優點 可以簡化指標修改實參。inc...

13 C 陣列和元組

如果需要使用同一型別的多個物件,陣列是一種資料結構,它包含同一型別的多個元素 一 一維陣列 1 陣列的宣告方法 int a 因為陣列是引用型別,引用型別有個特點是 宣告變數時不會馬上分配乙個記憶體,只有在用new關鍵字建立例項的時候,才會分配記憶體。2 建立乙個陣列例項 a new int 4 棧裡...