內(nèi)容
1:函數(shù)與多文件的簡單應(yīng)用
2:指針
一.函數(shù)的簡單應(yīng)用巾钉,以及多文件的應(yīng)用
我們在寫程序的時候翘狱,為了增加可讀性和移植性等,常常會將一個程序的代碼分成多個文件:
比如說簡單地實(shí)現(xiàn)一個計算器的功能砰苍,將這個小程序分成如下三部分
在頭文件里面聲明函數(shù)
#include<stdio.h>
//頭文件里面聲明函數(shù)
int add(int a,int b);//加
int minus(int a,int b);//減
int multiply(int a,int b);//乘
int devide(int a,int b); //除
在實(shí)現(xiàn)文件里面實(shí)現(xiàn)函數(shù)
注意:這里的實(shí)現(xiàn)文件可以不用導(dǎo)入#include"calculator.h"因?yàn)閙ain.cpp里面已經(jīng)有了盒蟆,也就是說main.cpp里面不能省略這個導(dǎo)入頭文件
//這是實(shí)現(xiàn)文件
//1.先導(dǎo)入需要實(shí)現(xiàn)的頭文件
#include"calculator.h"http://導(dǎo)入自己的用""
//2. 實(shí)現(xiàn)這個頭文件里面的所有方法
int add(int a,int b){
return a + b;
}//加
int minus(int a,int b){
return a - b;
}//減
int multiply(int a,int b){
return a * b;
}//乘
int devide(int a,int b){
if(b == 0){
return 0;//如果被除的數(shù)等于0,則返回0(這個不一定非得這樣师骗,具體看程序要求)
}else{
return a / b;
}
} //除
然后是主函數(shù)
#include<stdio.h>
//1.程序的入口函數(shù)
//main.cpp是為了讓閱讀者知道我這里面寫的是入口函數(shù)
//2.將不同的功能模塊用不同的.h .cpp來封裝
//.h是頭文件历等,主要做函數(shù)的聲明(不能實(shí)現(xiàn))
//.cpp是實(shí)現(xiàn)文件,函數(shù)的具體實(shí)現(xiàn){}
//3.導(dǎo)入頭文件進(jìn)行使用
#include"calculator.h"http://導(dǎo)入自己寫的頭文件
int main(void){
int a;//保存前者輸入的數(shù)字
int b;//保存后者輸入的數(shù)字
printf("請輸入兩個數(shù)字:");
scanf("%d",&a);
getchar();
scanf("%d",&b);
printf("a + b =%d\n",add(a,b));
printf("a - b = %d\n",minus(a,b));
printf("a * b = %d\n",multiply(a,b));
printf("a / b = %d\n",devide(a,b));
}
二.指針
是一種數(shù)據(jù)類型辟癌,類似int float寒屯,指針裝地址型數(shù)據(jù),所占空間大小八個字節(jié)黍少。
1.作用:
如果想在函數(shù)之間傳遞數(shù)據(jù)寡夹,而且這個數(shù)據(jù)個數(shù)大于1,即傳遞多個數(shù)據(jù)厂置,而一個return只能返回一個值菩掏,那必須用指針。
2.類型:
整形指針昵济,字符型指針智绸,函數(shù)指針等等
3.?作用:
①:聲明的時候表示是一個指針變量
②:在使用過程中在前面加就是表示指針指向的值
4.值:
是一個變量的地址
5.指向的值:
?p(指針變量只能指向同種數(shù)據(jù)類型的地址)(所以也可以稱指針為內(nèi)存操作運(yùn)算符)
注意:變量本身不占空間,它只是一種映射關(guān)系访忿,映射到那個內(nèi)存空間瞧栗。(但是我們平時就理解為變量占空間)
聲明一個變量:比如 int a;沒有給值,沒有立刻分配內(nèi)存空間海铆,即沒有地址迹恐。
定義一個變量:比如 int a = 10;則立刻分配了內(nèi)存空間,并且賦值卧斟。
二級指針要多一個?即有兩個?
6.運(yùn)算
7.指針和數(shù)組
8.指針和函數(shù)(重點(diǎn))(6 7 8在下節(jié))
總結(jié)
1:通過對計算器的很簡單的操作的代碼書寫殴边,對函數(shù)的理解更深,并且大致了解了一下一個程序的構(gòu)成
2:指針其實(shí)之前已經(jīng)學(xué)過珍语,所以這里收獲不算多锤岸,但是有一點(diǎn),就是變量名字本身不占空間這個之前沒有接觸過廊酣,今天算是掌握這個知識點(diǎn)了