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方法前声明函数(推荐)
    1. 声明函数
    2. 定义函数
    3. 调用函数
  • 方式二:在main方法前定义函数,可以不声明函数。
    1. 定义函数
    2. 调用函数
  • 推荐写法:
void main()
{
	// 1、声明函数
	类型标识符 函数名(形参列表);
	// 3、调用函数
	函数名(形参列表);
}
// 2、定义函数
类型标识符  函数名(形参列表)
{
	函数体;
}
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐