網站首頁 編程語言 正文
C語言函數
1.概念:函數是一組一起執行一個任務的語句,每個c程序都必須有一個main函數,程序員可以把代碼劃分到不同的函數當中去,在邏輯上,劃分通常是根據每個函數執行一個特定的任務來進行的。c標準庫提供了可以大量調用的庫函數,比如,printf,strcmp等。
2.函數的定義
c語言中函數的一般定義如下:
return_type Function_name(Parameter List) { The function body }
定義函數時會定義這個函數要做什么,然后通過調用該函數來完成定義的任務。當程序調用函數時,程序控制權會轉移給被調用的函數。被調用的函數執行已定義的任務,當函數的返回語句被執行時,或到達函數的結束括號時,會把程序控制權交還給主程序。下面是具體調用函數的例子:
第一種方法
在一個.c文件里面進行子函數調用
step1:函數聲明
step2:mian函數
step3:子函數
/******************************** 數組元素之和 法一: 子函數調用 **********************************/ #include<stdio.h> #define M 10 // 數組元素個數 int num[M]={1,2,3,4,5,6,7,8,9,10}; /******************************** 函數聲明 **********************************/ int sum(int * start, int * end); /******************************** main函數 **********************************/ int main(void) { long answer; answer=sum(num,num+M); printf("The total number is %ld.\n",answer); return 0; } /******************************** 子函數 **********************************/ int sum(int * i, int * end) { int total=0; while(i<end) { total+=*i;// 把數組元素的值加起來 i++; // 讓指針指向下一個元素 } return total; }
第二種方法
調用外部的C文件
main函數
/******************************** 數組元素之和 不需要.h文件,直接調用外部函數的方法 **********************************/ #include<stdio.h> #include "D:\mwq\LAB\z7\ARM\VC\extern_get_c_file_v2\sum.c"http://調用外部函數 路徑+外部函數名 #define M 10 // 數組元素個數 int num[M]={1,2,3,4,5,6,7,8,9,10}; /******************************** main函數 **********************************/ int main(void) { long answer; answer=sum(num,num+M);//調用求和函數 printf("The total number is %d.\n",answer); return 0; }
子函數
#include<stdio.h> /******************************** 函數功能:求和 輸入參數:素組的首尾地址 輸出參數:素組所有元素之和 **********************************/ int sum(int * i, int * end) { int total=0; while(i<end) { total+=*i;// 把數組元素的值加起來 i++; // 讓指針指向下一個元素 } return total; }
第三種方法
注:這種方法的實現平臺為SDK,但思想一樣。
一個main.c 。
子函數源文件用sum.c 表示;子函數頭文件用 sum.h表示。
有幾個子函數就有幾個sum.c 和 sum.h
主函數
#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);//調用求和函數 printf("The total number is %d.\n",answer); cleanup_platform(); return 0; }
子函數源文件
#include<stdio.h> #include"sum.h" /******************************** 函數功能:求和 輸入參數:素組的首尾地址 輸出參數:素組所有元素之和 **********************************/ int sum(int N) { int i; int total=0; for(i=0;i<=N;i++) { total=total+i;// 把數組元素的值加起來 } return total; }
子函數頭文件
#ifndef SUM_H #define SUM_H int sum(int N);// 子函數 #endif
結果
總結
原文鏈接:https://blog.csdn.net/weixin_46136963/article/details/113359434
相關推薦
- 2023-10-17 將一維數組截取成二維數組,要求二維數組中的每個數組length是一樣的才可以
- 2022-10-09 ASP.NET泛型四之使用Lazy<T>實現延遲加載_實用技巧
- 2022-06-02 C語言實現簡單的抽獎系統_C 語言
- 2023-06-13 python調試過程中多顏色輸出方式_python
- 2022-05-20 C#隊列的簡單使用_C#教程
- 2021-12-02 使用gin框架搭建簡易服務的實現方法_Golang
- 2022-03-14 servlet已經配置url映射,提示Servlet should have a mapping a
- 2023-03-27 Android?BroadcastReceiver傳輸機制詳解_Android
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支