亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C語言淺析函數(shù)的用法

 更新時間:2022年07月07日 09:49:15   作者:ChampLixxx  
C語言函數(shù)是用來模塊化構(gòu)建程序的。如果你的功能少,你可以全都寫在mian函數(shù)中,但是當實現(xiàn)功能多的時候,如果全寫在main的函數(shù)里,不僅代碼不美觀,而且函數(shù)實現(xiàn)的時候結(jié)構(gòu)復雜,代碼重復

問題引入

有時候,我們經(jīng)常需要在一個程序中,對一個數(shù)組進行

鍵盤輸入,打印數(shù)組元素值。

有些代碼塊,功能是相同的,只有數(shù)組名和元素個數(shù)等參數(shù)不一樣,

代碼形式是一樣的,對于同一功能而不同參數(shù)的代碼塊,那么咱就可以

將其封裝成一個函數(shù),如果您需要用到這樣的功能或者代碼塊,那么我們

就不需要重復的去寫代碼塊,我們只需要調(diào)用這個函數(shù)。

函數(shù)

  • 函數(shù)是完成某個功能的指令序列的封裝。
  • 函數(shù)有什么特點:
  • 相同功能的代碼塊,重復利用、模塊化思想。

C語言中函數(shù)的語法形式

函數(shù)返回值類型 函數(shù)名(輸入?yún)?shù)列表) --> 函數(shù)頭

{

函數(shù)的具體實現(xiàn) --> 函數(shù)體

}

“函數(shù)返回值類型”:

函數(shù)最終返回的結(jié)果的類型。

“單值類型” : 結(jié)果用一個寄存器或兩個寄存器可以保存的值。

int / long

void : 表示該函數(shù)無返回值。(void不可以省略)

問題

return語句后面的那個表達式的值,就是函數(shù)調(diào)用表達式的值。

但是有些函數(shù)并沒有返回值,難道說這個函數(shù)調(diào)用表達式的值沒有值嗎?

函數(shù)調(diào)用表達式任然會有一個值,只不過我們不知道這個值時多少,R0中

一定會有一個確定的值(undefine,未知)

例子

void print_array(int a[], int n)
			{
				int i;
				for(i = 0 ; i < n ; i++)
				{
					printf("%d ", a[i]);
				}
				printf("\n");
				//return ;
			}

“函數(shù)名” : C語言中標識符的規(guī)定。

               array_sum 
               Shuzu_he 
                  “輸入?yún)?shù)列表” : 規(guī)定輸入?yún)?shù)必須要有 類型 參數(shù)名 ,
                 參數(shù)與參數(shù)之間用 ',' 隔開
    類型1 參數(shù)名1 , 類型2 參數(shù)名2 , .......  

void : 表示該函數(shù)不帶參數(shù)。(void可以省略)

return語句 :

return 返回的意思。return只能用在函數(shù)內(nèi)部。

表示函數(shù)結(jié)束的意思。

return ; 函數(shù)結(jié)束,不帶任何返回值。

在函數(shù)的返回值類型為void的時,可能需要用到上述語句。 return 表達式 ; 函數(shù)結(jié)束,并且?guī)б粋€返回值,“表達式”的值。

函數(shù)的返回值類型,就是return 語句后面的“表達式”的值的類型。

函數(shù)的調(diào)用過程

函數(shù)調(diào)用: 調(diào)用一個已經(jīng)實現(xiàn)了的 函數(shù)去執(zhí)行函數(shù)中封裝的指令序列。

a: 需要指定是哪個函數(shù)/任務 ,指定任務名/函數(shù)名

b: 完成該任務/函數(shù) 需要有哪些實際上的參數(shù)(實際參數(shù))

實際參數(shù)(實參): 調(diào)用該函數(shù)式傳入的參數(shù)。

形式參數(shù)(形參): 定義或設計該函數(shù)時的參數(shù)。

參數(shù)的傳遞,是將 形參 = 實參的值!!

“實參” : 就是一個表達式

指定實參時,不需要指定實參的類型。

實參需要與形參一一對應(不僅僅實參與形參的個數(shù)對應,

并且實參與形參的類型也要相對應)!!!

例:

int main()
			{
				int a[10];
				input_array(a , 10);//調(diào)用函數(shù)
				int s = sum(5  , 6);
				printf("s == %d\n", s);
			} 

函數(shù)的調(diào)用過程        a、把實參的值 賦值給 相對應的形參
        b、跳轉(zhuǎn)到函數(shù)中去執(zhí)行函數(shù)中的指令序列。
            直到遇到 return語句 或者 函數(shù)語句全部執(zhí)行完畢。
            return 后面的表達式的值,將作為整個函數(shù)調(diào)用表達式的值。 
            當函數(shù)執(zhí)行完畢,那么此時CPU會回到函數(shù)調(diào)用處,
            繼續(xù)往下面運行。 

函數(shù)聲明

就是告訴編譯器 這個“名字(標識符)”是一個函數(shù)名,

在后面的某個位置會定義的。

函數(shù)聲明: 
    void input_array(int arr[], int n)  ;    //函數(shù)頭 

外部的函數(shù)聲明:

extern 外部函數(shù)的頭部;

本文件中的函數(shù)的聲明:

函數(shù)頭部分 ;

變量聲明

外部的全局變量的聲明 :

extern 變量的類型 變量;

例子: 假設你想要在1.c中去使用2.c中的那個變量

2.c                  1.c 
                    //對2.c中變量a進行外部聲明 
                    extern int a;
int a = 250;         printf("2.c =>  a ==%d\n", a);

數(shù)組聲明

int a[3][4];

數(shù)組的聲明與普通變量的聲明類似!!!

到此這篇關(guān)于C語言淺析函數(shù)的用法的文章就介紹到這了,更多相關(guān)C語言函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Matlab實現(xiàn)灰色預測的示例代碼

    Matlab實現(xiàn)灰色預測的示例代碼

    這篇文章主要為大家詳細介紹了如何利用Matlab實現(xiàn)灰色預測,文中的示例代碼講解詳細,具有一定的參考價值,感興趣的小伙伴可以了解一下
    2022-05-05
  • 使用C語言實現(xiàn)貪吃蛇小游戲

    使用C語言實現(xiàn)貪吃蛇小游戲

    這篇文章主要為大家詳細介紹了使用C語言實現(xiàn)貪吃蛇小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • c++基礎語法:構(gòu)造函數(shù)與析構(gòu)函數(shù)

    c++基礎語法:構(gòu)造函數(shù)與析構(gòu)函數(shù)

    構(gòu)造函數(shù)用來構(gòu)造一個對象,主要完成一些初始化工作,如果類中不提供構(gòu)造函數(shù),編譯器會默認的提供一個默認構(gòu)造函數(shù)(參數(shù)為空的構(gòu)造函數(shù)就是默認構(gòu)造函數(shù)) ;析構(gòu)函數(shù)是隱式調(diào)用的,delete對象時候會自動調(diào)用完成對象的清理工作
    2013-09-09
  • 基于VC 6.0使用C語言實現(xiàn)俄羅斯方塊

    基于VC 6.0使用C語言實現(xiàn)俄羅斯方塊

    這篇文章主要為大家詳細介紹了基于VC 6.0使用C語言實現(xiàn)俄羅斯方塊,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • C++詳解多線程中的線程同步與互斥量

    C++詳解多線程中的線程同步與互斥量

    線程間如何通信同步?一些伙伴好奇線程間的通信及同步方法,沒關(guān)系,下面小編就繼續(xù)給大家科普下線程間通信及同步的方法以及互斥量
    2022-05-05
  • QT使用QComBox和QLineEdit實現(xiàn)模糊查詢功能

    QT使用QComBox和QLineEdit實現(xiàn)模糊查詢功能

    模糊查詢是指根據(jù)用戶輸入的文本,在下拉框的選項中進行模糊匹配,并動態(tài)地顯示匹配的選項,本文將使用QComBox和QLineEdit實現(xiàn)模糊查詢功能,需要的可以參考下
    2023-11-11
  • 基于errno返回值的對應錯誤碼的詳細介紹

    基于errno返回值的對應錯誤碼的詳細介紹

    本篇文章是對errno返回值的對應錯誤碼進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • 詳解C++基礎——類繼承

    詳解C++基礎——類繼承

    這篇文章主要介紹了C++類繼承,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • C++?構(gòu)造函數(shù)學習筆記

    C++?構(gòu)造函數(shù)學習筆記

    這篇文章主要為大家介紹了C++?構(gòu)造函數(shù)學習筆記,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • c++11中regex正則表達式示例簡述

    c++11中regex正則表達式示例簡述

    這篇文章主要給大家介紹了關(guān)于c++11中regex正則表達式的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用c++11具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-11-11

最新評論