RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C語(yǔ)言-函數(shù)的定義、聲明、傳參

DS小龍哥-嵌入式技術(shù) ? 來(lái)源:DS小龍哥-嵌入式技術(shù) ? 作者:DS小龍哥-嵌入式技 ? 2022-08-14 09:57 ? 次閱讀

1. 前言

C語(yǔ)言里函數(shù)是非常重要的知識(shí)點(diǎn),一個(gè)完整的C語(yǔ)言程序就是由主函數(shù)和各個(gè)子函數(shù)組成的,主函數(shù)調(diào)用子函數(shù)完成各個(gè)邏輯功能。

2. 函數(shù)在C語(yǔ)言里是什么概念?

函數(shù)相當(dāng)于打包代碼的過(guò)程,程序代碼里如果有很多重復(fù)代碼,可以將重復(fù)代碼寫成一個(gè)函數(shù),進(jìn)行調(diào)用。
C語(yǔ)言程序里除了main函數(shù)(主)之外的函數(shù)都叫子函數(shù),都屬于自定義函數(shù)。

3. 函數(shù)如何定義?如何編寫一個(gè)函數(shù)?

函數(shù)定于分為幾種情況:1. 有形參 2.無(wú)形參 3.有返回值 4. 無(wú)返回值

/*
<函數(shù)返回值類型> [函數(shù)的名稱](函數(shù)的形參類型)
{
	函數(shù)體
}
*/
void func1(void)
{
	
}
int func2(int a)
{
	return 12;
}
int func3(int a,int b,int c,.....)
{
	return 12;
}
void func4(char *p)
{
	
}

4.自定義的函數(shù)如何調(diào)用和聲明?

#include 
#include 
void func1(void); //提前聲明函數(shù)
int main()
{
	func1(); //調(diào)用函數(shù)
	return 0;
}
//定義函數(shù)
void func1(void)
{
	printf("hello\n");
}

如果在調(diào)用函數(shù)之前編寫函數(shù)體,就不需要聲明:

#include 
#include 
//定義函數(shù)
void func1(void)
{
	printf("hello\n");
}
int main()
{
	func1(); //調(diào)用函數(shù)
	return 0;
}

5. 函數(shù)如何傳入形參并接收返回值?

#include 
#include 
//函數(shù)聲明
int func(int a,int b); 
//int func(int,int); 

int main()
{
	int a;
	a=func(10,20); //調(diào)用函數(shù)
	printf("a=%d\n",a);
	return 0;
}

//計(jì)算a+b結(jié)果值
int func(int a,int b)
{
	int c;
	c=a+b;
	return c; //返回結(jié)果,并終止函數(shù)執(zhí)行
}

6. return 語(yǔ)句作用

return 本身功能終止函數(shù)執(zhí)行,順帶返回一個(gè)值給調(diào)用者。
語(yǔ)法: return [值或者是表達(dá)式或者不填]; 表達(dá)式: 12<34
并且return 函數(shù)每次只能返回一個(gè)值。

#include 
#include 
//函數(shù)聲明
void func(void); 
int main()
{
	func();
	return 0;
}

void func(void)
{
	printf("1234567890\n");
	return; //直接結(jié)束函數(shù)
	printf("ABCD\n");
}

7. 變量的作用域:局部變量、全局變量、塊級(jí)變量

全局變量: 將變量定義在函數(shù)體外就屬于全局變量。
局部變量: 將變量定義在函數(shù)體內(nèi)就是屬于局部變量。
塊級(jí)變量: 就是在語(yǔ)句范圍內(nèi)定義的變量。
if(a>b){int c;…. }

生命周期: 全局變量生命周期和main函數(shù)共存。

#include 
#include 
int a=100;
void func(void);
int main()
{
	int a=200;
	printf("a1=%d\n",a); //200   當(dāng)局部變量和全局變量名稱相同的情況下優(yōu)先使用局部變量
	a=400;
	printf("a2=%d\n",a); //400
	func();
	return 0;
}
void func(void)
{
	printf("a3=%d\n",a); //100
}

8. 靜態(tài)變量

靜態(tài)變量聲明關(guān)鍵字: static

#include 
#include 
int func(int a);
int main()
{
	int i;
	for(i=0;i<5;i++)
	{
		printf("%d\n",func(i));//01234   
	}
	return 0;
}

int func(int a)
{
	//int b=0; 局部變量
	static int b=0;  //靜態(tài)變量(局部全局變量)--生命周期
	b+=a;
	return b;
}
//函數(shù)調(diào)用完畢之后,函數(shù)占用的空間都會(huì)釋放

  審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7604

    瀏覽量

    136680
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4327

    瀏覽量

    62569
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    函數(shù)定義是什么

    定義中的函數(shù)體再加上分號(hào)。函數(shù)聲明才可以調(diào)用,一個(gè)函數(shù)只可以定義一次,但是可以聲明多次。
    發(fā)表于 12-17 07:03

    C++語(yǔ)言入門教程之C++語(yǔ)言程序設(shè)計(jì)函數(shù)的詳細(xì)資料概述免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是C++語(yǔ)言入門教程之C++語(yǔ)言程序設(shè)計(jì)函數(shù)的詳細(xì)資料概述免費(fèi)下載內(nèi)容包括了:1
    發(fā)表于 09-20 14:51 ?23次下載

    C語(yǔ)言函數(shù)的實(shí)驗(yàn)詳細(xì)資料說(shuō)明

    實(shí)驗(yàn)?zāi)康暮鸵螅?)掌握C語(yǔ)言函數(shù)定義方法、函數(shù)聲明
    發(fā)表于 12-06 08:00 ?4次下載
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b><b class='flag-5'>函數(shù)</b>的實(shí)驗(yàn)詳細(xì)資料說(shuō)明

    C語(yǔ)言函數(shù)參數(shù)關(guān)于值和指針有什么區(qū)別?

    C語(yǔ)言函數(shù)參數(shù)的值和指針有什么區(qū)別?
    的頭像 發(fā)表于 02-26 16:35 ?2221次閱讀

    C語(yǔ)言聲明定義與引用說(shuō)明

    本文檔的主要內(nèi)容詳細(xì)介紹的是C語(yǔ)言聲明定義與引用說(shuō)明
    發(fā)表于 07-29 08:00 ?2次下載
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>的<b class='flag-5'>聲明</b>和<b class='flag-5'>定義</b>與引用說(shuō)明

    剖析什么是C語(yǔ)言中的隱式函數(shù)聲明

    「1、什么是C語(yǔ)言的隱式函數(shù)聲明」 在C語(yǔ)言中,函數(shù)
    的頭像 發(fā)表于 05-25 09:38 ?3802次閱讀
    剖析什么是<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>中的隱式<b class='flag-5'>函數(shù)</b><b class='flag-5'>聲明</b>

    51單片機(jī)實(shí)戰(zhàn)教程之C語(yǔ)言基礎(chǔ)(五 C語(yǔ)言函數(shù)及其定義

    雖然部分C語(yǔ)言函數(shù)的返回值與其參數(shù)存在對(duì)應(yīng)關(guān)系,但是它與數(shù)學(xué)里的函數(shù)不是同一概念。有的書(shū)上把它定義為完成特定任務(wù)的代碼集合。
    發(fā)表于 11-21 09:51 ?31次下載
    51單片機(jī)實(shí)戰(zhàn)教程之<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>基礎(chǔ)(五 <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b><b class='flag-5'>函數(shù)</b>及其<b class='flag-5'>定義</b>)

    C語(yǔ)言函數(shù)定義、子函數(shù)的使用及變量的作用域

    這篇介紹C語(yǔ)言函數(shù)定義、子函數(shù)的使用。接著介紹變量的作用域,定義全局變量、靜態(tài)變量、只讀變量
    的頭像 發(fā)表于 04-28 11:23 ?6851次閱讀

    C語(yǔ)言總結(jié)_函數(shù)知識(shí)

    這篇文章介紹函數(shù)定義、函數(shù)函數(shù)的返回值、變量的作用域、靜態(tài)、全局、局部變量的初始化默認(rèn)
    的頭像 發(fā)表于 08-14 09:33 ?770次閱讀

    C語(yǔ)言總結(jié)_數(shù)組與函數(shù)練習(xí)題

    字符串標(biāo)準(zhǔn)處理函數(shù)介紹(string.h)、指針和數(shù)組當(dāng)做函數(shù),指針定義、函數(shù)返回指針、void類型
    的頭像 發(fā)表于 08-14 09:36 ?827次閱讀

    C語(yǔ)言-函數(shù)的可變形(不定形)

    這篇文章介紹C語(yǔ)言函數(shù)的不定參數(shù)、可變參數(shù) 形,實(shí)現(xiàn)printf一樣的效果。
    的頭像 發(fā)表于 08-14 09:58 ?2648次閱讀

    C語(yǔ)言-指針作為函數(shù)類型

    C語(yǔ)言函數(shù)里最常用就是指針和返回地址,特別是字符串處理中,經(jīng)常需要封裝各種功能函數(shù)完成數(shù)據(jù)處
    的頭像 發(fā)表于 08-14 10:05 ?1887次閱讀

    C語(yǔ)言函數(shù)調(diào)用的形式及過(guò)程

    C語(yǔ)言函數(shù)調(diào)用時(shí)的數(shù)據(jù)傳遞 在調(diào)用有函數(shù)時(shí),主調(diào)函數(shù)和被調(diào)
    的頭像 發(fā)表于 03-10 14:28 ?1730次閱讀

    C語(yǔ)言函數(shù)參數(shù)介紹

    C語(yǔ)言數(shù)組元素作函數(shù)實(shí)參 數(shù)組元素可以用作函數(shù)實(shí)參,不能用作形C
    的頭像 發(fā)表于 03-10 14:30 ?2368次閱讀

    C語(yǔ)言內(nèi)部函數(shù)與外部函數(shù)介紹

    一般為了敘述方便,把建立存儲(chǔ)空間的聲明定義,而把不需要建立存儲(chǔ)空間的聲明稱為聲明。 在函數(shù)中出現(xiàn)的對(duì)變量的
    的頭像 發(fā)表于 03-10 14:36 ?1151次閱讀
    RM新时代网站-首页