it编程 > 编程语言 > C/C++

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

50人参与 2026-02-12 C/C++

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

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、定义函数
类型标识符  函数名(形参列表)
{
	函数体;
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

您想发表意见!!点此发布评论

推荐阅读

C语言中栈的大小设置方式

02-13

C++强制类型转化、const的全解析

02-12

C语言错误处理宏两个比较重要的环节

02-13

C++中的stack容器操作大全

02-11

C++模拟实现二叉搜索树功能

02-15

C++随机数生成工具实现详解

02-15

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论