函數(shù)定義及函數(shù)調(diào)用、參數(shù)傳值類型

一、函數(shù)的定義:
1、函數(shù):函數(shù)是具有某一特定功能的若干代碼的集合,當(dāng)需要使用這些代碼實(shí)現(xiàn)該項(xiàng)功能的時(shí)候調(diào)用該函數(shù)的名字即可。
定義一個(gè):
函數(shù)的返回值類型 函數(shù)名(函數(shù)參數(shù)類型 參數(shù)名a,函數(shù)的參數(shù)類型 參數(shù)名b)
{
函數(shù)體;
}

int func(int a,int b) //函數(shù)的定義
{
printf("%d %d\n",a,b);
return 0;
}
func(1,2); //函數(shù)的調(diào)用

注:1.函數(shù)原則上可以有無數(shù)個(gè)參數(shù),但通常就3個(gè)左右,也可以不帶參數(shù)
2.各參數(shù)之間用逗號(hào)分割
3.函數(shù)如果沒有返回值,那么函數(shù)返回值類型為void,在函數(shù)結(jié)尾可以寫return;也可以不寫
4.如果函數(shù)有返回值,那么它返回什么值,函數(shù)的返回值類型就是相應(yīng)的類型。
5.原則上一個(gè)函數(shù)只能最多有1個(gè)返回值。

函數(shù)的聲明:如果函數(shù)的定義在調(diào)用的后面,在調(diào)用之前聲明函數(shù),建議函數(shù)的定義放在調(diào)用的前面(不用函數(shù)聲明)
聲明的方法,最簡(jiǎn)單的就是把定義函數(shù)的第一句話抄過去,帶參數(shù)的函數(shù),可以直接抄過去,也可以參數(shù)的名字不寫,但是參數(shù)的類型必須要寫

函數(shù)的使用:
1.函數(shù)必須先定義再使用,如果想先使用,必須在使用它之前聲明它,聲明的方法,最簡(jiǎn)單的就是把定義函數(shù)的第一句話抄過去,帶參數(shù)的函數(shù),可以直接抄過去,也可以參數(shù)的名字不寫,但是參數(shù)的類型必須要寫
2.使用函數(shù)通過調(diào)用該函數(shù)的名字,有帶參數(shù)的函數(shù)要給它傳遞參數(shù)進(jìn)去,不帶參數(shù)的不傳

2、函數(shù)定義的注意點(diǎn):
1、函數(shù)定義不能嵌套定義(不能放在其他函數(shù)內(nèi))
2、函數(shù)除了main函數(shù)外,其他函數(shù)定義時(shí),返回值類型不能省略。
3、如果函數(shù)的返回值是int float double char 指針等,函數(shù)必須要加return 返回值變量,
return后面的值的數(shù)據(jù)類型必須要與函數(shù)返回值的數(shù)據(jù)類型保持一致。
4、void:空類型
5、函數(shù)定義和聲明后面的()里面的內(nèi)容必須一致,函數(shù)參數(shù)名可以不寫,但類型必須寫。
6、
3、變量的作用區(qū)域分為:
全局變量:在函數(shù)外面定義的變量(要在程序開始的時(shí)候(所有函數(shù)前面定義)定義全局變量);全局有效。
局部變量:是在函數(shù)內(nèi)部定義的變量,在函數(shù)內(nèi)部使用。
注意:變量作用域決定變量的可訪問
當(dāng)局部變量和全局變量重名的時(shí)候,以最后見到的變量為準(zhǔn)。

變量的存儲(chǔ)方式:
靜態(tài)存儲(chǔ):
動(dòng)態(tài)存儲(chǔ):
4、
auto:自動(dòng)變量,函數(shù)結(jié)束,則變量消失,空間釋放。 int a=9;其實(shí)是 auto int a=9;
static:靜態(tài)變量,聲明出來必須有唯一確定值。
當(dāng)程序開始使用的時(shí)候給變量開辟空間,直到程序結(jié)束后變量才消失,空間才釋放
當(dāng)程序第一次調(diào)用時(shí)保留這次調(diào)用的值,下次再使用時(shí)保留上一次的值
const:只能讀取,不可修改
1》 int const a;const int a;等同
int a=1;
2》 int * const p;//p這個(gè)變量只讀,將來這個(gè)指針只能指向a。
3》 const int *p;//使用p訪問這個(gè)變量只讀
4》 const int * const p;//使用p訪問這個(gè)變量只讀,p這個(gè)變量只讀,將來這個(gè)指針只能指向a


二、傳參類型實(shí)例:
-------------------------------------無參數(shù)

include <stdio.h>

void Print(); //如果函數(shù)的定義在調(diào)用的后面,在調(diào)用之前聲明函數(shù)
void main()
{
Print();//函數(shù)的調(diào)用
}
void Print()//定義函數(shù)
{
printf("i am very good\n");
}
-----------------------------------有1個(gè)參數(shù)

include <stdio.h>

int Print(int);
void main()
{
int b=5;
int c;
c=Print(b); //a=b 賦值是個(gè)拷貝的過程
printf("c=%d\n",c);
}
int Print(int a)//函數(shù)的定義
{
printf("a=%d\n",a);
return a;
}
--------------------------------------------有一個(gè)指針參數(shù)
void swap(int *p,int q)//交換兩個(gè)數(shù)的值
{ int tmp=
p;
p=q;
*q=tem;
}

int main()
{
int a=3,b=4;
swap(&a,&b);//指針參數(shù) 傳地址,從地址上改變兩個(gè)數(shù)的值
printf("a=%d b=%d\n"a,b);
}


怎么向一個(gè)函數(shù)里面?zhèn)鞯刂罚?/p>

include <stdio.h>

void Print(int *); //參數(shù)是地址的時(shí)候
void main()
{
int a=5;
Print(&a); // int *p=&a
}
void Print(int p)
{
printf("a=%d\n",
p);
}

---------------------------向一個(gè)函數(shù)里傳遞數(shù)組:
方法1:

include <stdio.h>

void Print(int a[]); //參數(shù)是數(shù)組 函數(shù)聲明
void main()
{
int b[5]={1,2,3,4,5};
int k=sizeof(b)/sizeof(int);//計(jì)算數(shù)組中數(shù)據(jù)的個(gè)數(shù)
Print(b,k);
}
//定義一個(gè)函數(shù)
void Print(int a[],int size) //參數(shù)是指針
{
int i=0;
for(i=0;i<size;i++)
printf("%d\n",a[i]);
}


方法2:

include <stdio.h>

void Print(int *);
void main()
{
int b[5]={1,2,3,4,5};
int k=sizeof(b)/sizeof(int);//計(jì)算數(shù)組中數(shù)據(jù)的個(gè)數(shù)
Print(b,k);
}
void Print(int *a,int size) //參數(shù)是指針
{
int i=0;
for(;i<size;i++)
printf("%d ",a[i]);
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 4,197評(píng)論 1 10
  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程,因...
    小菜c閱讀 7,358評(píng)論 0 17
  • 01-常量與變量 學(xué)習(xí)swift第一步打印Hello World print("Hello World") swi...
    iOS_恒仔閱讀 5,378評(píng)論 2 19
  • 指針是C語言中廣泛使用的一種數(shù)據(jù)類型。 運(yùn)用指針編程是C語言最主要的風(fēng)格之一。利用指針變量可以表示各種數(shù)據(jù)結(jié)構(gòu); ...
    朱森閱讀 3,615評(píng)論 3 44
  • 風(fēng)會(huì)傷感,淚會(huì)結(jié)痂,不要怕,我們終將獨(dú)自長(zhǎng)大。生活易好易壞,朋友易多易少,都比不得靠自己穩(wěn)當(dāng),自己努力了才最好,想...
    cf1b134857fe閱讀 261評(píng)論 0 0

友情鏈接更多精彩內(nèi)容