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

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

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

C語(yǔ)言函數(shù)

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

2.函數(shù)的定義

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

return_type Function_name(Parameter List)
{
    The function body
}

定義函數(shù)時(shí)會(huì)定義這個(gè)函數(shù)要做什么,然后通過(guò)調(diào)用該函數(shù)來(lái)完成定義的任務(wù)。當(dāng)程序調(diào)用函數(shù)時(shí),程序控制權(quán)會(huì)轉(zhuǎn)移給被調(diào)用的函數(shù)。被調(diào)用的函數(shù)執(zhí)行已定義的任務(wù),當(dāng)函數(shù)的返回語(yǔ)句被執(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ù)組元素的值加起來(lái)
	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ù)組元素的值加起來(lái)
	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ù)組元素的值加起來(lái)
	}
	return total;
}

子函數(shù)頭文件

#ifndef SUM_H
#define SUM_H

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

#endif

結(jié)果

總結(jié)

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

相關(guān)文章

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

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

    變長(zhǎng)參數(shù)的函數(shù),即參數(shù)個(gè)數(shù)可變、參數(shù)類型不定的函數(shù)。設(shè)計(jì)一個(gè)參數(shù)個(gè)數(shù)可變、參數(shù)類型不定的函數(shù)是可能的,最常見(jiàn)的例子是printf函數(shù)、scanf函數(shù)和高級(jí)語(yǔ)言的Format函數(shù)。最近的一個(gè)項(xiàng)目中就遇到這么一個(gè)相關(guān)的問(wèn)題,感興趣的朋友們下面來(lái)一起看看吧。
    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)分配,而堆是人為申請(qǐng)開(kāi)辟;2、棧獲得的空間較小,而堆獲得的空間較大;3、棧由系統(tǒng)自動(dòng)分配,速度較快,而堆一般速度比較慢;4、棧是連續(xù)的空間,而堆是不連續(xù)的空間
    2021-06-06
  • C語(yǔ)言:十進(jìn)制,BCD碼互換詳解

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

    這篇文章主要介紹了C語(yǔ)言十進(jìn)制,BCD碼互換實(shí)例,小編覺(jué)得這篇文章寫的還不錯(cuò),實(shí)例簡(jiǎn)單明了,需要的朋友可以參考下
    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++語(yǔ)言的模板技術(shù)包括函數(shù)模板和類模板,模板技術(shù)是一種代碼重用技術(shù),函數(shù)和類是C++語(yǔ)言中兩種主要的重用代碼形式,這篇文章主要介紹了C++函數(shù)模板和類模板,需要的朋友可以參考下
    2022-08-08
  • 詳解C++二叉搜索樹(shù)的原理及實(shí)現(xiàn)

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

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

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

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

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

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

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

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

最新評(píng)論

广元市| 尉氏县| 滕州市| 仲巴县| 瑞昌市| 清水县| 玉环县| 松阳县| 陵川县| 文化| 石台县| 吉林市| 鄂托克前旗| 通辽市| 武义县| 孟村| 颍上县| 海淀区| 四子王旗| 鄂托克前旗| 容城县| 镇康县| 全州县| 岱山县| 金沙县| 宁安市| 开原市| 上林县| 南投县| 修水县| 安多县| 赫章县| 呼伦贝尔市| 罗平县| 新郑市| 翼城县| 石首市| 酒泉市| 广昌县| 清徐县| 桐乡市|