-
多文件
*#####文件的包含
----標(biāo)準(zhǔn)庫頭文件 一般用<>括起來編譯器直接去查找標(biāo)準(zhǔn)庫; #include <stdio.h>
----自定義頭文件 一般用" "括起來;為了區(qū)分庫的頭文件,編譯器的查找路徑為當(dāng)前工作路徑。
-
多文件
便于項目管理,可以根據(jù)個人需求或項目需求將項目劃分為不同的文件有利于提高開發(fā)效率,編譯時,需要講所有的.c文件聯(lián)合起來編譯。
可以將多個文件存放于不同的目錄中
源文件----src目錄
頭文件----include目錄
可執(zhí)行文件----bin目錄
-
自定義頭文件
xxxx.h:可以包含:函數(shù)聲明,庫的頭文件,自定義和其他頭文件,結(jié)構(gòu)體/宏定義,不允許定義變量,若該頭文件在項目中的多個文件中包含,則會導(dǎo)致重復(fù)定義!??!
-
全局變量的使用
在1.c文件中定義的全局變量,若在其他文件中使用
----在其他文件中使用extern聲明該
-
assert()函數(shù)---->include <assert.h>
-
注意事項規(guī)范性
雙目運算符:+ - * / += -= *= /= >= <=等雙目運算符 前后要加空格。
單目運算符不需要加空格,空格,空行的使用:緊密相連的代碼不需要空格,不同的代碼模塊之間加空行。
注釋的使用:應(yīng)避免二義性。
循環(huán)效率問題:建議用單目運算符。
-
選擇排序
-
常用的宏
printf("Date:%s\n",DATE);//打印當(dāng)前日期
printf("Time:%s\n",TIME);//打印當(dāng)前時間
printf("Line:%s\n",LINE);//打印當(dāng)前行號
printf("func:%s\n",func);//打印當(dāng)前函數(shù)名
printf("File:%s\n",FILE);//打印當(dāng)前文件名
-
main(int argc,char *argv[])
{
if(argc<2)
{
printf("usage:%s arg1\n",argv[0]);
return -1;
}
int i=0;
for(i=0;i<argc;i++)
{
printf("\targv[i]=%s\n",i,argv[i]);
}
return 0;
}
-
防止重復(fù)定義
#ifndef HEAD_H //若HEAD_H未定義則編譯一下內(nèi)容
#define HEAD_H//