網(wǎng)站首頁 編程語言 正文
C語言函數(shù)
1.概念:函數(shù)是一組一起執(zhí)行一個任務(wù)的語句,每個c程序都必須有一個main函數(shù),程序員可以把代碼劃分到不同的函數(shù)當(dāng)中去,在邏輯上,劃分通常是根據(jù)每個函數(shù)執(zhí)行一個特定的任務(wù)來進行的。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ù)要做什么,然后通過調(diào)用該函數(shù)來完成定義的任務(wù)。當(dāng)程序調(diào)用函數(shù)時,程序控制權(quán)會轉(zhuǎn)移給被調(diào)用的函數(shù)。被調(diào)用的函數(shù)執(zhí)行已定義的任務(wù),當(dāng)函數(shù)的返回語句被執(zhí)行時,或到達函數(shù)的結(jié)束括號時,會把程序控制權(quán)交還給主程序。下面是具體調(diào)用函數(shù)的例子:
第一種方法
在一個.c文件里面進行子函數(shù)調(diào)用
step1:函數(shù)聲明
step2:mian函數(shù)
step3:子函數(shù)
/******************************** 數(shù)組元素之和 法一: 子函數(shù)調(diào)用 **********************************/ #include<stdio.h> #define M 10 // 數(shù)組元素個數(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++; // 讓指針指向下一個元素 } 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ù)組元素個數(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++; // 讓指針指向下一個元素 } return total; }
第三種方法
注:這種方法的實現(xiàn)平臺為SDK,但思想一樣。
一個main.c 。
子函數(shù)源文件用sum.c 表示;子函數(shù)頭文件用 sum.h表示。
有幾個子函數(shù)就有幾個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é)
原文鏈接:https://blog.csdn.net/weixin_46136963/article/details/113359434
相關(guān)推薦
- 2022-03-22 C語言寫一個散列表_C 語言
- 2023-07-16 callBack: function(res){} 與 callBack: res =>{}
- 2022-06-04 C#?XML基礎(chǔ)入門小結(jié)(XML文件內(nèi)容增刪改查清)_C#教程
- 2022-10-07 詳解Python?OpenCV圖像分割算法的實現(xiàn)_python
- 2022-04-07 C#中的串口通信SerialPort詳解_C#教程
- 2022-08-04 Python?venv虛擬環(huán)境跨設(shè)備遷移的實現(xiàn)_python
- 2022-04-21 詳解前端到底可以用nginx做什么_nginx
- 2022-05-27 C++左值與右值,右值引用,移動語義與完美轉(zhuǎn)發(fā)詳解_C 語言
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支