函数
- 函数是一组一起执行一个任务的语句。每个 C 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数。
定义函数
函数格式
return_type function_name( parameter list )
{
body of the function
}
- **返回类型:**一个函数可以返回一个值。return_type 是函数返回的值的数据类型。有些函数执行所需的操作而不返回值,在这种情况下,return_type 是关键字 void。
- **函数名称:**这是函数的实际名称。函数名和参数列表一起构成了函数签名。
- **参数:**参数就像是占位符。当函数被调用时,您向参数传递一个值,这个值被称为实际参数。参数列表包括函数参数的类型、顺序、数量。参数是可选的,也就是说,函数可能不包含参数。
- **函数主体:**函数主体包含一组定义函数执行任务的语句。
声明函数
- 函数名 : sum
- 函数的返回值类型为 :void
- 函数的参数 , 有两个参数 , 参数的类型都是 int 类型
例子
#include<stdio.h>
// main 主函数 整个程序入口点在这
// 声明函数
void sum(int number_1 ,int number_2);
// 函数名 : sum
// 函数的返回值类型为 :void
// 函数的参数 , 有两个参数 , 参数的类型都是 int 类型
int main(void)
{
int number_1 , number_2;
// printf("Please innput your two numbers: \n ");
// scanf("%d %d" , &number_1 , &number_2);
// printf("sum = %d\n" , number_1 + number_2);
// 函数的调用
sum(95 , 95);
sum(95 , 95);
sum(95 , 95);
sum(95 , 95);
return 0;
}
// 定义函数
void sum(int number_1 , int number_2) {
// printf("Please innput your two numbers: \n ");
// scanf("%d %d" , &number_1 , &number_2);
printf("sum = %d\n" , number_1 + number_2);
}
实参
- 实参——实际参数
- 有具体的值可以叫做实参
形参
- 形参——形式参数
- 没有具体的值可以叫做形参
- 只有定义或者声明函数的时候,哪里的参数才叫形参
函数的调用
- 声明函数 , 定义函数 ,调用函数的类型要一一对应
#include<stdio.h>
// 声明函数
int sum( int number_1 ,int number_2);
int main(void)
{
// 调用函数
int result_sum = sum(99 , 99);
return 0;
}
// 定义函数
int sum( int number_1 ,int number_2) {
int result = number_1 + number_2;
printf("sum = %d \n" , result);
return 0;
}
函数的作用域
作用域规则
- 作用域是程序中定义的变量所存在的区域,超过该区域变量就不能被访问。C 语言中有三个地方可以声明变量:
- 在函数或块内部的局部变量
- 在所有函数外部的全局变量
- 在形式参数的函数参数定义中
全局变量与局部变量在内存中的区别
- 全局变量保存在内存的全局存储区中,占用静态的存储单元;
- 局部变量保存在栈中,只有在所在函数被调用时才动态地为变量分配存储单元。
以上笔记内容来源于B站: Micro_Frank