一、函数定义
1.定义无参数函数
#include <stdio.h>
void printWelcome()
{
printf("======================\n");
printf("欢迎来到我的程序,baby\n");
printf("======================\n");
}
//只关心数据和值
int getDataFromX(int x)//形式参数,需包含变量类型、变量名
{
int data;
data = x-1;
return data;
}
int main()
{
int x;
int y;
printWelcome();
puts("请输入一个数:");
scanf("%d",&x);
y = getDataFromX(x);
printf("x=%d,y=%d\n",x,y);
return 0;
}
2.定义有参数有返回值的函数
#include <stdio.h>
//三要素:函数名、参数列表、返回值
int add(int data1,int data2)//函数原型
{
int ret;
ret = data1 + data2;
return ret;
}
int main()
{
int x;
int y;
int z;
puts("请输入一个数:");
scanf("%d",&x);
puts("请再输入一个数:");
scanf("%d",&y);
z = add(x,y);
printf("%d+%d=%d\n",x,y,z);
return 0;
}
3.定义空函数:程序设计,模块设计的时候,占坑
二、函数调用
1.常见错误:
(1)int add(2,3):带了返回值类型
(2)add(int a, int b):形参带类型了
2.见怪不怪:
(1)函数可以当做表达式:
(2)函数调用当做其他函数调用的参数:
3.调用过程
(1)内存空间
(2)值传递
(3)值返回:如果函数返回类型是void,函数体可以不用加return,返回值要注意类型,如果类型不同,可能会发生强制转换影响结果或编译警告
(4)内存释放
4.调用条件
(1)函数已被定义
(2)调用库函数
(3)函数的声明