#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 棧裡...