-
結(jié)構(gòu)體初始化:struct weapon weapon_1={"weapon_name,100,200};
調(diào)用:printf("%s\n",weapon_1.name);
結(jié)構(gòu)體數(shù)組:
struct weapon weapon_1[2]={
{"weapon_name1",50,100},? ? {"weapon_name2",100,200}? ? ? ? ?};
調(diào)用:weapon_1[0].name;? weapon_1[1].atk;
查看全部 -
結(jié)構(gòu)體:與數(shù)組相反,存儲(chǔ)的是一組不同類型的數(shù)據(jù),如一把槍;
struct weapon{
????char name[20];
????int atk;
????int price;
};? ? ? ? ? //這里只是定義,沒有賦值,所以沒有分配空間
聲明:struct?weapon(只定義一個(gè)變量時(shí)可以省略){ char?name[20]; int?atk; int?price; }weapon_1;????//這樣就只有一個(gè)變量了 或者:struct?weapon?weapon_1;
查看全部 -
typedef與#define易混淆
typedef有作用域;要用分號(hào)結(jié)束;遵循C語言語法規(guī)則;只是別名,預(yù)處理時(shí)不替換;?
查看全部 -
宏還可以傳遞參數(shù)
#define?N(n)?n*10
main函數(shù)中:int b=N(5);? ?即是int b=5*10;
#define?add(a,b)?a+b main函數(shù)中:int?x=add(20,30)?//x=20+30=50 ??int?x=add(20,30)*add(20,30)??//x=20+30*20+30=650而非2500 ??也就是說,宏替換只是替換,并不能運(yùn)算 ??所以最好加(),即#define?add(a,b)?(a+b)
宏的優(yōu)勢(shì):可以不考慮參數(shù)類型:
int?add(int?a,int?b){return?a+b;}?對(duì)比:
#define?add(a,b)?(a+b)
查看全部 -
1.reventon@reventon-virtual-machine:~$? vim helloworld.c?
(新建helloworld.c源文件)
2.編碼
3.編譯: gcc helloworld.c(生成一可執(zhí)行文件)
? ? ? ? ? ?執(zhí)行所生成的文件 ./a.out
? ? ? ? ? ?會(huì)輸出helloworld
編譯的四個(gè)步驟:
.c文件? .i文件 .s文件? .o文件 (可執(zhí)行文件)
? ? ? ?預(yù)處理? ? ? 編譯? ? ? ? 匯編? ? ? ?鏈接
gcc -o helloworld.i helloworld.c -E
? ? ? ? ? ? ? ?(生成.i文件)? ? ? ? ? ? ?‖只讓gcc進(jìn)行預(yù)處理
回車,vi helloworld.i (看helloworld.i文件)
有大量代碼,:$ (直接跳到代碼底端)
底端是main函數(shù),
上面的大量是#include <stadio.h>的展開
所以預(yù)處理的第一件事是展開頭文件
第二件是宏替換
宏不考慮語法,隨便替換
#define M int main(
M)? ? ? ? ? //即int main(
查看全部 -
按位 & 運(yùn)算的應(yīng)用:
?????1,判斷一個(gè)數(shù)的奇偶性, 和1做按位&運(yùn)算,結(jié)果得0,為偶數(shù),得1為奇數(shù);
????2, 進(jìn)行字節(jié)的篩選,將要篩選的字節(jié),和(11111)進(jìn)行與運(yùn)算;
????3,快速清零
查看全部 -
靜態(tài)鏈表結(jié)構(gòu)圖
查看全部 -
編譯的四個(gè)步驟
查看全部 -
a?|?0??也能判斷奇偶
查看全部 -
&?清0,保留某些位,判斷奇偶
查看全部 -
#define R 20 typedef int u32查看全部
-
宏定義,不考慮 數(shù)據(jù)類型,c語法查看全部
-
宏定義,不考慮c語法查看全部
-
C編譯過程
查看全部 -
編譯指令:預(yù)處理,宏定義
建立自己的數(shù)據(jù)類型:結(jié)構(gòu)體,聯(lián)合體,動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu)
邏輯運(yùn)算符:&,|,~,^,<<,>>
遞歸函數(shù)的調(diào)用方法
查看全部
舉報(bào)