1. 库函数
C语言常用的库函数都有:
IO函数
字符串操作函数
字符操作函数
内存操作函数
时间/日期函数
数学函数
其他库函数
举例子(strcpy)
#include <stdio.h> #include <string.h> int main() //将arr1里面的内容放到arr2里面,其中\0也包含在内 { char arr1[] = "abcdef"; char arr2[20] = { 0 }; strcpy(arr2, arr1); printf("%s\n", arr2); return 0; }
举例子(memset)
#include <stdio.h> #include <string.h> int main() //将arr1里面的前五个内容改成x { char arr1[] = "hello world"; memset(arr1, 'x', 5); printf("%s\n", arr1); return 0; }
注:
但是库函数必须知道的一个秘密就是:使用库函数,必须包含 #include 对应的头文件。
2. 自定义函数
自定义函数和库函数一样,有函数名,返回值类型和函数参数.
但是不一样的是这些都是我们自己来设计
举一个例子:
写一个函数可以找出两个整数中的最大值
#include <stdio.h> //get_max函数的设计 int get_max(int x, int y) { return (x>y)?(x):(y); } int main() { int num1 = 10; int num2 = 20; int max = get_max(num1, num2); printf("max = %d\n", max); return 0; }
再举个例子:
写一个函数可以交换两个整形变量的内容。
//错误示范,能实现成函数,但是不能完成任务 void Swap1(int x, int y) { int tmp = 0; tmp = x; x = y; y = tmp; }
正确的版本
#include <stdio.h> void Swap(int* pa,int* pb) { int tmp = * pa; *pa = *pb; *pb = tmp; } int main() //写一个函数可以交换两个整形变量的内容 { int a = 0; int b = 0; scanf("%d %d", &a, &b); printf("交换前a = %d,b = %d\n",a,b); Swap(&a, &b); printf("交换后a = %d,b = %d\n",a,b); return 0; }
3. 函数的参数
3.1 实际参数(实参):
真实传给函数的参数,叫实参。
实参可以是:常量、变量、表达式、函数等。
无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形
参。
3.2 形式参数(形参):
形式参数是指函数名后括号中的变量,因为形式参数只有在函数被调用的过程中才实例化(分配内存单元),所以叫形式参数。
形式参数当函数调用完成之后就自动销毁了。因此形式参数只在函数中有效。