1.函数的类型
c语言中函数分为库函数和自定义函数
1.为什么会有库函数?
例如在学习代码的时候我们经常会用到打印来展示我们的成果,或者利用strcpy来拷贝的工作,或者会利用一些计算例如开平方。 在这些许多的代码环境中程序员们为了能更高效和支持可移植性,c语言中提供了这一系列的库函数方便程序员开发。
2.常见的库函数
1.IO函数
IO函数也是输入输出函数(printf,scanf,getchar,putchar)
2.字符串操作函数
字符串操作函数分为(strcmp,strlen)
strcmp:用户比较字符串
strlen:求字符串长度
3.字符操作函数
字符操作函数(toupper)
toupper的作用是小写转大写
4.内存擦做函数
内存操作函数(memcp,memcmp,memset)
5.时间/日期函数
时间/日期函数(time)
6.数字函数
数字函数(sqrt,pow)
sqrt常用于开平方
pow常用于求次方
strcpy函数和memset函数用法
1.strcpy
#include<stdio.h>
#include<string.h>
int main()
{
char arr1[20] = { 0 };
char arr2[] = "hello";
strcpy(arr1, arr2);//strcpy将一地址的内容复制到目的地二地址下 格式(char *目的地地址,char*来源地址)
printf("%s",arr1);//s是以字符串的形式打印
return 0;
strcpy函数的作用是将目标地址内的信息复制粘贴到目的地址中去
2.memset
#include<stdio.h>
#include<string.h>
int main()
{
//memset是内存设置,可以修改一个值的结果
//例如 格式 memset(void * arr,int value ,size_t num)将一个地址的里面的一个值改成另一个value结果,并且可以控制修改几个字节的结果unm
char arr1[] = "nihao666";
memset(arr1, 'x', 3);//修改arr1地址的前三个字节把值修改成x
printf("%s", arr1);
return 0;
}
memset函数的作用是将一个字符串中前多少位修改为你想要修改的字符
3.自定义函数
自定义函数和库函数一样,有函数名和返回类型和函数参数,但是不同的是这些都是我们自己来设计的
自定义函数的组成
例如交换两个数的值
int Max(int x, int y)
{
int z = 0;
if (x > y)
{
z = x;
}
else
{
z = y;
}
return z;
}
int main()
{
int a = 20;
int b = 30;
int max = Max(a, b);
printf("%d", max);
return 0;
}
4.函数的参数类型
实际参数
真实传给函数的参数叫实参
实参可以是:常量,变量,表达式,函数等
无论实参是何种类型的量进行函数调用时他们都是必须有确定的值以便把这些值传给形参
形式参数
函数名后括号中的变量因为形式参数只有在函数被调用的过程中才实例化(分配内存单元)所以叫形式参数,形参当函数调用完成后就自动销毁了,因此形参只在函数中有效。
例如
形参:void sw(int x ,int y)
void sw2(int *pa , int * b)
实参:sw(a,b)
sw(&a,&b)
#总结
在学习c语言中函数部分是除了指针之后我觉得第二重要的知识,之后会用到自定义函数,和函数的调用,所以我觉得函数这部分一定要牢牢掌握。