1)採用第三方變數(最容易想到的方法)
2)採用加減法進行值得交換(面試時常用**)
程式碼如下:b = a - b;
a = a - b;
b = a + b;
3)採用按位異或的位方式
程式碼如下:a = a^b;
b = a^b;
a = a^b;
◆知識點2:取餘運算%的結果與被除的符號相同,結果為兩個正數取餘後前面加符號
◆知識點3:sizeof的使用
sizeof是一種運算子不要想當然理解為函式
sizeof使用時可以不加()
sizeof可以加變數、常量、資料型別
跟資料型別是必須加()
◆知識點4:#include編譯預處理命令與多檔案團隊開發
include編譯預處理命令可以認為是:將後面的檔案內容複製到當前的檔案中
多檔案團隊開發:模組分別編譯成.o都不能連結成功,合起來連結生成最終程式。
連結:把專案中所有相關聯的.o目標檔案、C語言函式庫合併在一起,生成可執行檔案
——函式的定義放.c檔案,函式的宣告放.h檔案
——如果要使用某個.c檔案中定義的函式,只需要#include這個.c檔案對應的.h檔案
——h檔案的作用:被別人複製。編譯連結的時候不需要管.h檔案
◆知識點5:陣列的幾種初始化方式如下:
int a[3] = {10, 9, 6};
int a[3] = {10,9};
int a[] = {11, 7, 6};
int a[4] = {[1]=11,[0] = 7};(知道有此種初始化方式即可)
◆知識點6:陣列的記憶體分析和注意點
儲存空間的劃分(記憶體的分配是從高地址到低地址進行的,但一個數組內部元素又是從低到高進行的)【注:對於以後學習重要】
陣列名的作用,檢視元素地址
注意陣列不要越界
◆知識點7:字串知識點
'123”其實是由’1’、’2’、’3’、’\0’組成
字串的輸出”%s”,’\0’是不會輸出的
◆知識點8 : 字串處理函式:strlen()
計算的是字元數,不是字數
計算的字元不包括’\0’,一個漢字相當於3個字元例子:'哈haha' 字元數
1)採用第三方變數(最容易想到的方法)
2)採用加減法進行值得交換(面試時常用**)
程式碼如下:b = a - b;
a = a - b;
b = a + b;
3)採用按位異或的位方式
程式碼如下:a = a^b;
b = a^b;
a = a^b;
◆知識點2:取餘運算%的結果與被除的符號相同,結果為兩個正數取餘後前面加符號
◆知識點3:sizeof的使用
sizeof是一種運算子不要想當然理解為函式
sizeof使用時可以不加()
sizeof可以加變數、常量、資料型別
跟資料型別是必須加()
◆知識點4:#include編譯預處理命令與多檔案團隊開發
include編譯預處理命令可以認為是:將後面的檔案內容複製到當前的檔案中
多檔案團隊開發:模組分別編譯成.o都不能連結成功,合起來連結生成最終程式。
連結:把專案中所有相關聯的.o目標檔案、C語言函式庫合併在一起,生成可執行檔案
——函式的定義放.c檔案,函式的宣告放.h檔案
——如果要使用某個.c檔案中定義的函式,只需要#include這個.c檔案對應的.h檔案
——h檔案的作用:被別人複製。編譯連結的時候不需要管.h檔案
◆知識點5:陣列的幾種初始化方式如下:
int a[3] = {10, 9, 6};
int a[3] = {10,9};
int a[] = {11, 7, 6};
int a[4] = {[1]=11,[0] = 7};(知道有此種初始化方式即可)
◆知識點6:陣列的記憶體分析和注意點
儲存空間的劃分(記憶體的分配是從高地址到低地址進行的,但一個數組內部元素又是從低到高進行的)【注:對於以後學習重要】
陣列名的作用,檢視元素地址
注意陣列不要越界
◆知識點7:字串知識點
'123”其實是由’1’、’2’、’3’、’\0’組成
字串的輸出”%s”,’\0’是不會輸出的
◆知識點8 : 字串處理函式:strlen()
計算的是字元數,不是字數
計算的字元不包括’\0’,一個漢字相當於3個字元例子:'哈haha' 字元數