最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言函數(shù)調(diào)用的三種實(shí)現(xiàn)方法實(shí)例

 更新時(shí)間:2022年01月24日 11:02:36   作者:ML__LM  
C語言中函數(shù)的調(diào)用主要有如下三種方法,直接調(diào)用,函數(shù)指針調(diào)用,函數(shù)指針傳遞調(diào)用其中后兩種本質(zhì)一樣,但在有無返回值時(shí)還稍有差別,下面這篇文章主要給大家介紹了關(guān)于C語言函數(shù)調(diào)用的三種實(shí)現(xiàn)方法,需要的朋友可以參考下

C語言函數(shù)

1.概念:函數(shù)是一組一起執(zhí)行一個(gè)任務(wù)的語句,每個(gè)c程序都必須有一個(gè)main函數(shù),程序員可以把代碼劃分到不同的函數(shù)當(dāng)中去,在邏輯上,劃分通常是根據(jù)每個(gè)函數(shù)執(zhí)行一個(gè)特定的任務(wù)來進(jìn)行的。c標(biāo)準(zhǔn)庫提供了可以大量調(diào)用的庫函數(shù),比如,printf,strcmp等。

2.函數(shù)的定義

c語言中函數(shù)的一般定義如下:

return_type Function_name(Parameter List)
{
    The function body
}

定義函數(shù)時(shí)會(huì)定義這個(gè)函數(shù)要做什么,然后通過調(diào)用該函數(shù)來完成定義的任務(wù)。當(dāng)程序調(diào)用函數(shù)時(shí),程序控制權(quán)會(huì)轉(zhuǎn)移給被調(diào)用的函數(shù)。被調(diào)用的函數(shù)執(zhí)行已定義的任務(wù),當(dāng)函數(shù)的返回語句被執(zhí)行時(shí),或到達(dá)函數(shù)的結(jié)束括號(hào)時(shí),會(huì)把程序控制權(quán)交還給主程序。下面是具體調(diào)用函數(shù)的例子:

第一種方法

在一個(gè).c文件里面進(jìn)行子函數(shù)調(diào)用

step1:函數(shù)聲明

step2:mian函數(shù)

step3:子函數(shù)

/********************************
          數(shù)組元素之和

   法一:  子函數(shù)調(diào)用
**********************************/
#include<stdio.h>

#define M 10   // 數(shù)組元素個(gè)數(shù)
int num[M]={1,2,3,4,5,6,7,8,9,10};

/********************************
            函數(shù)聲明
**********************************/
int sum(int * start, int * end);

/********************************
            main函數(shù)
**********************************/
int main(void)
{
	long answer;
	answer=sum(num,num+M);
	printf("The total number is %ld.\n",answer);
	return 0;
}

/********************************
            子函數(shù)
**********************************/
int sum(int * i, int * end)
{
	int total=0;
	while(i<end)
	{
	total+=*i;// 把數(shù)組元素的值加起來
	i++;  // 讓指針指向下一個(gè)元素
	}
	return total;
}

第二種方法

調(diào)用外部的C文件

main函數(shù)

/********************************
          數(shù)組元素之和

 不需要.h文件,直接調(diào)用外部函數(shù)的方法
**********************************/

#include<stdio.h>
#include "D:\mwq\LAB\z7\ARM\VC\extern_get_c_file_v2\sum.c"http://調(diào)用外部函數(shù)   路徑+外部函數(shù)名

#define M 10   // 數(shù)組元素個(gè)數(shù)
int num[M]={1,2,3,4,5,6,7,8,9,10};


/********************************
            main函數(shù)
**********************************/
int main(void)
{
	long answer;
	answer=sum(num,num+M);//調(diào)用求和函數(shù)
	printf("The total number is %d.\n",answer);
	return 0;
}

子函數(shù)

#include<stdio.h>

/********************************
 函數(shù)功能:求和
 輸入?yún)?shù):素組的首尾地址
 輸出參數(shù):素組所有元素之和
**********************************/
int sum(int * i, int * end)
{
	int total=0;
	while(i<end)
	{
	total+=*i;// 把數(shù)組元素的值加起來
	i++;  // 讓指針指向下一個(gè)元素
	}
	return total;
}

第三種方法

注:這種方法的實(shí)現(xiàn)平臺(tái)為SDK,但思想一樣。

一個(gè)main.c 。

子函數(shù)源文件用sum.c 表示;子函數(shù)頭文件用 sum.h表示。

有幾個(gè)子函數(shù)就有幾個(gè)sum.c 和 sum.h

主函數(shù)

#include <stdio.h>
#include "platform.h"
#include "xil_printf.h"
#include "sleep.h"
#include "sum.h"

#define M 10
int answer;

int main()
{

    init_platform();

    print("Hello World\n\r");
    print("you are my book\n\r");


	answer=sum(M);//調(diào)用求和函數(shù)
	printf("The total number is %d.\n",answer);

    cleanup_platform();
    return 0;

}

子函數(shù)源文件

#include<stdio.h>
#include"sum.h"

/********************************
 函數(shù)功能:求和
 輸入?yún)?shù):素組的首尾地址
 輸出參數(shù):素組所有元素之和
**********************************/
int sum(int N)
{
	int i;
	int total=0;
	for(i=0;i<=N;i++)
	{
		total=total+i;// 把數(shù)組元素的值加起來
	}
	return total;
}

子函數(shù)頭文件

#ifndef SUM_H
#define SUM_H

int sum(int N);// 子函數(shù)

#endif

結(jié)果

總結(jié)

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

相關(guān)文章

  • C++中的變長參數(shù)深入理解

    C++中的變長參數(shù)深入理解

    變長參數(shù)的函數(shù),即參數(shù)個(gè)數(shù)可變、參數(shù)類型不定的函數(shù)。設(shè)計(jì)一個(gè)參數(shù)個(gè)數(shù)可變、參數(shù)類型不定的函數(shù)是可能的,最常見的例子是printf函數(shù)、scanf函數(shù)和高級(jí)語言的Format函數(shù)。最近的一個(gè)項(xiàng)目中就遇到這么一個(gè)相關(guān)的問題,感興趣的朋友們下面來一起看看吧。
    2016-10-10
  • C++基于棧的深搜算法實(shí)現(xiàn)馬踏棋盤

    C++基于棧的深搜算法實(shí)現(xiàn)馬踏棋盤

    這篇文章主要為大家詳細(xì)介紹了C++基于棧的深搜算法實(shí)現(xiàn)馬踏棋盤,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 教你分辨C++堆與棧的區(qū)別

    教你分辨C++堆與棧的區(qū)別

    堆與棧的區(qū)別有:1、棧由系統(tǒng)自動(dòng)分配,而堆是人為申請開辟;2、棧獲得的空間較小,而堆獲得的空間較大;3、棧由系統(tǒng)自動(dòng)分配,速度較快,而堆一般速度比較慢;4、棧是連續(xù)的空間,而堆是不連續(xù)的空間
    2021-06-06
  • C語言:十進(jìn)制,BCD碼互換詳解

    C語言:十進(jìn)制,BCD碼互換詳解

    這篇文章主要介紹了C語言十進(jìn)制,BCD碼互換實(shí)例,小編覺得這篇文章寫的還不錯(cuò),實(shí)例簡單明了,需要的朋友可以參考下
    2021-09-09
  • 詳解C++ 拷貝構(gòu)造函數(shù)

    詳解C++ 拷貝構(gòu)造函數(shù)

    這篇文章主要介紹了C++ 拷貝構(gòu)造函數(shù)的相關(guān)資料,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • C++函數(shù)模板與類模板相同與不同介紹

    C++函數(shù)模板與類模板相同與不同介紹

    C++語言的模板技術(shù)包括函數(shù)模板和類模板,模板技術(shù)是一種代碼重用技術(shù),函數(shù)和類是C++語言中兩種主要的重用代碼形式,這篇文章主要介紹了C++函數(shù)模板和類模板,需要的朋友可以參考下
    2022-08-08
  • 詳解C++二叉搜索樹的原理及實(shí)現(xiàn)

    詳解C++二叉搜索樹的原理及實(shí)現(xiàn)

    二叉搜索樹又稱二叉排序樹,二叉搜索樹是一種二叉樹,其中每個(gè)節(jié)點(diǎn)的值大于其左子樹中的任何節(jié)點(diǎn),并且小于其右子樹中的任何節(jié)點(diǎn),本文小編就給大家講講C++二叉搜索樹的操作及實(shí)現(xiàn),感興趣的同學(xué)跟著小編一起來看看吧
    2023-08-08
  • C++ 之 Asio 庫(全面解析)

    C++ 之 Asio 庫(全面解析)

    下面小編就為大家?guī)硪黄狢++ 之 Asio 庫(全面解析)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08
  • C語言實(shí)現(xiàn)洗牌與發(fā)牌游戲

    C語言實(shí)現(xiàn)洗牌與發(fā)牌游戲

    這篇文章主要為大家詳細(xì)介紹了C語言洗牌與發(fā)牌游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • C語言入門篇--局部全局變量的作用域及生命周期

    C語言入門篇--局部全局變量的作用域及生命周期

    本篇文章是c語言基礎(chǔ)篇,本文對初識(shí)c語言的變量、局部全局變量的作用域及生命周期做了簡要的概述,希望可以幫助大家快速入門c語言的世界,更好的理解c語言
    2021-08-08

最新評(píng)論

民权县| 光泽县| 乌兰察布市| 麟游县| 奉节县| 二连浩特市| 永康市| 宁津县| 五寨县| 乌鲁木齐市| 福贡县| 平顶山市| 吴川市| 上思县| 浦县| 钟祥市| 宜兴市| 开原市| 库车县| 错那县| 呼和浩特市| 阳高县| 台山市| 邯郸市| 桑植县| 汝州市| 石首市| 西乡县| 井陉县| 龙井市| 隆安县| 孟村| 泗洪县| 崇阳县| 东方市| 云林县| 吉安市| 巢湖市| 南宁市| 岐山县| 始兴县|