目录
- C语言函数
 - 第一种方法
 - 第二种方法
 - 第三种方法
 - 总结
 
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"//调用外部函数   路径+外部函数名
#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
结果

总结
	声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
		
评论(0)