C与指针——常见库函数

字符串

c 复制代码
#include<stdlibs.h>
int abs(int);
long labs(long);
int rand(void);//0-RAND_MAX
//字符串转值
int atoi(const char*);
long atol(const char*);
float atof(const char*);

数学\排序

c 复制代码
#include<math.h>
\\常见三角,sqrt(); exp();
double power(double,double);
#include<time.h>
clock_t clock(void); //程序开始执行起,到当前的时间。将结果除以CLOCKS_PER_SEC;才是秒
#include<stdlib.h>
void qsort(void* data, size_t n_ele, size_t ele_size,
int (*compare)(void const *,void const *));
//数组,数组元素数量,每个元素的字节数,比较函数。
void* bsearch(void const *key, void const *base,size_t n_ele,size_t ele_size, int (*compare)(void const*,void const *));//假如已经排序完毕,那么可以用这个函数进行一个元素的二分查找,函数指针必须与上面的一样。

信号处理函数

bash 复制代码
常见的信号
SIGABRT 程序请求异常终止
SIGSEGV 内存非法访问
SIGINT 交互性注意信号
SIGTERM 终止程序请求
c 复制代码
#include<signal.h>
\\引发信号
int raise(int sig);//可以人为的引发信号
\\信号发生时,有三种处理方式
1、缺省方式------一般系统终止程序
2、定义信号处理函数
void handle(int sig)
{
	switch(sig)
	{
		case SIGINT:
			///...
			_exit(0);
			break;
		case SIGTERM:
			///...
			_exit(0);
			break;
	}
}
int main()
{
	struct sigaction sa;
	sigemptyset(&sa.sa_mask);//信号处理函数执行期间,不会阻塞其他信号。
	sa.sa_handler = handle;
	sa.sa_flags = 0;
	if(sigaction(SIGINT,&sa,NULL)==-1)
	{
		perror("failed");
		return 1;
	}
}
相关推荐
xiaobobo33301 小时前
c语言中for循环条件中定义临时栈变量的作用域
c语言·for循环条件定义栈变量·大括号作用域·独立栈变量
惜离殇2 小时前
从零开始的敲代码生活--Linux应用软件(文件操作基础1)
linux·c语言·文件操作·标准io
潘潘的嵌入式日记4 小时前
I²C 从机接收总被覆盖?双缓冲要在 STOP 时交接
c语言·开发语言·单片机
xx~t5 小时前
嵌入式——Linux软件编程——网络1
linux·c语言·网络·vscode·网络协议
羚尔9 小时前
C语言数组
c语言·开发语言
老当益壮梁奶奶12 小时前
Linux软件编程学习笔记(十一):深入浅出 TCP 协议与 Socket 编程实践
linux·c语言·笔记·学习·tcp/ip
Navigator_Z13 小时前
LeetCode //C - 1223. Dice Roll Simulation
c语言·算法·leetcode
Patrick在香港13 小时前
Python 拉取 C&SD 官方 API:香港 2022 年已跨过“超老龄线“,而抚养比正在爬回 1961
android·c语言·python·数据分析·时序数据库·数据可视化·香港
彷徨而立15 小时前
【C/C++】多线程读写普通 int 变量的一些问题(二)
c语言·c++
luj_176815 小时前
毒素驱动的生物自毁机制探析
服务器·c语言·开发语言·经验分享·算法