C 语言

关注公众号 jb51net

关闭
首页 > 软件编程 > C 语言 > C语言函数的声明、定义、调用

C语言函数的声明、定义、调用方式

作者:Shen-Childe

本文详细介绍了如何在不同情况下定义和使用函数,包括无返回值和有返回值的无参及有参函数,以及如何将数组作为函数参数,总结了两种在Java中声明和调用函数的方式

一、定义 无返回值 无参 函数

1、方法一

#include<stdio.h>

void main()
{
	// 1、声明函数
	void NoReturnNoParameter();
	// 3、调用函数
	NoReturnNoParameter();
}

// 2、定义函数
void NoReturnNoParameter()
{
	printf("定义无返回值无参函数\n");
}

2、方法二

#include<stdio.h>

// 1、声明函数
void NoReturnNoParameter();

void main()
{
	// 3、调用函数
	NoReturnNoParameter();
}

// 2、定义函数
void NoReturnNoParameter()
{
	printf("定义无返回值无参函数\n");
}

3、方法三

#include<stdio.h>

// 1、定义函数
void NoReturnNoParameter()
{
	printf("定义无返回值无参函数\n");
}

void main()
{
	// 2、调用函数
	NoReturnNoParameter();
}

二、定义 无返回值 有参 函数

1、方法一

#include<stdio.h>

void main()
{
	// 1、声明函数
	void NoReturnYesParameter(int x, int y);
	int x = 3, y = 9;
	// 3、调用函数
	NoReturnYesParameter(x,y);
}

// 2、定义函数
void NoReturnYesParameter(int x, int y)
{
	printf("定义无返回值有参:%d,%d\n",x, y);
}

2、方法二

#include<stdio.h>

// 1、声明函数
void NoReturnYesParameter(int x, int y);

void main()
{
	int a = 3, b = 9;
	// 3、调用函数
	NoReturnYesParameter(a,b);
}

// 2、定义函数
void NoReturnYesParameter(int x, int y)
{
	printf("定义无返回值有参:%d,%d\n",x, y);
}

3、方法三

#include<stdio.h>

// 2、定义函数
void NoReturnYesParameter(int x, int y)
{
	printf("定义无返回值有参:%d,%d\n",x, y);
}

void main()
{
	
	int x = 3, y = 9;
	// 3、调用函数
	NoReturnYesParameter(x,y);
}

三、定义 有返回值 无参 函数

1、方法一

#include<stdio.h>

void main()
{
	// 1、声明函数
	int YesReturnNoParameter();
	int	a = YesReturnNoParameter();
	// 3、调用函数
	printf("%d\n", a);
}

// 2、定义函数
int YesReturnNoParameter()
{
	int a = 123;
	return a;
}

2、方法二

#include<stdio.h>

// 1、声明函数
int YesReturnNoParameter();

void main()
{
	// 3、调用函数
	printf("%d\n", YesReturnNoParameter());
}

// 2、定义函数
int YesReturnNoParameter()
{
	int a = 123;
	return a;
}

3、方法三

#include<stdio.h>

// 1、定义函数
int YesReturnNoParameter()
{
	int a = 123;
	return a;
}

void main()
{
	// 2、调用函数
	printf("%d\n", YesReturnNoParameter());
}

四、定义 有返回值 有参 函数

1、方法一

#include<stdio.h>

void main()
{
	// 1、声明函数
	int YesReturnYesParameter(int a, int b);
	int a = 1, b = 3, c;
	// 3、调用函数
	c = YesReturnYesParameter(a, b);
	printf("%d\n", c);
}

// 2、定义函数
int YesReturnYesParameter(int a, int b)
{
	int c;
	c = a + b;
	return c;
}

2、方法二

#include<stdio.h>

// 1、声明函数
int YesReturnYesParameter(int a, int b);

void main()
{

	int a = 1, b = 3, c;
	// 3、调用函数
	c = YesReturnYesParameter(a, b);
	printf("%d\n", c);
}

// 2、定义函数
int YesReturnYesParameter(int a, int b)
{
	int c;
	c = a + b;
	return c;
}

3、方法三

#include<stdio.h>

// 1、定义函数
int YesReturnYesParameter(int a, int b)
{
	int c;
	c = a + b;
	return c;
}

void main()
{

	int a = 1, b = 3, c;
	// 2、调用函数
	c = YesReturnYesParameter(a, b);
	printf("%d\n", c);
}

五、数组为函数的参数

1、数组元素参数

#include<stdio.h>

void main()
{
	// 形参类型与数组类型一致
	void test(int v);

	int a[10] = {1, 2, 3, 4, -1, -2, -3, -4, 2, 3};
	int i;

	for(i = 0; i < 10; i++)
	{
		// 数组元素下标
		test(a[1]);	// 2 2 2 2 2 2 2 2 2 2
	}
	printf("\n");
}

// 形参类型与数组类型一致
void test(int v)
{
	printf("%d ", v);
}

2、数组名参数

#include<stdio.h>

void main()
{
	// 形参与数组名为同类型数组即可
	void test(int b[]);
	
	// 整形的数组
	int a[10] = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20};
	test(a);	// 2 4 6 8 10
	putchar('\n');

}

// 形参与数组名为同类型数组即可
void test(int b[])
{
	int i = 0;
	for(; i < 5; i++)
	{
		printf("%d ", b[i]);	
	}
}

六、总结

方式一:在mian方法里或mian方法前声明函数(推荐)

方式二:在main方法前定义函数,可以不声明函数。

推荐写法:

void main()
{
	// 1、声明函数
	类型标识符 函数名(形参列表);
	// 3、调用函数
	函数名(形参列表);
}
// 2、定义函数
类型标识符  函数名(形参列表)
{
	函数体;
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文