【C语言】全网最强函数(详解)(一)

简介: 【C语言】全网最强函数(详解)(一)

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 形式参数(形参):

形式参数是指函数名后括号中的变量,因为形式参数只有在函数被调用的过程中才实例化(分配内存单元),所以叫形式参数。

形式参数当函数调用完成之后就自动销毁了。因此形式参数只在函数中有效。

相关文章
|
5天前
|
C语言
【C语言基础篇】字符串处理函数(四)strcmp的介绍及模拟实现
【C语言基础篇】字符串处理函数(四)strcmp的介绍及模拟实现
|
1天前
|
Java C语言 C++
定义C语言的int main()函数
定义C语言的int main()函数
|
4天前
|
C语言
C语言prinf函数
C语言prinf函数
11 4
|
2天前
|
存储 移动开发 C语言
技术心得记录:嵌入式开发中常用到的C语言库函数
技术心得记录:嵌入式开发中常用到的C语言库函数
|
4天前
|
编译器 程序员 Serverless
函数(C语言)
函数(C语言)
|
4天前
|
机器学习/深度学习 C语言
详细解读C语言math.h中常用函数
详细解读C语言math.h中常用函数
|
4天前
|
C语言
C语言刷题(函数)
C语言刷题(函数)
|
4天前
|
存储 C语言
c语言scanf函数用法
c语言scanf函数用法
|
5天前
|
C语言
【海贼王编程冒险 - C语言海上篇】库函数怎样模拟实现?
【海贼王编程冒险 - C语言海上篇】库函数怎样模拟实现?
7 1
|
2天前
|
Java 程序员 Linux
探索C语言宝库:从基础到进阶的干货知识(类型变量+条件循环+函数模块+指针+内存+文件)
探索C语言宝库:从基础到进阶的干货知识(类型变量+条件循环+函数模块+指针+内存+文件)
9 0