我们知道的东西是有限的,而我们不知道的东西则是无穷的。——拉普拉斯
位操作
~a,取反a ^ b, 异或
运算符
sizeof(),获得对象的所占空间大小,单位为byte。sizeof(str),得到str所占含\0的空间大小,str为字符串数组名,该功能注意与strlen()区分,详细分析见C学习:sizeof的用法理解。
字符串操作函数
头文件:#include <string.h>
strtok(), 字符串分割(不可重入,慎用),高频重点atoi(), 字符串转int整数,类似的还有atoll(),有安全问题strtol(),字符串转long整数,多一个进制入参,类似的有strtoll,strtoul,推荐使用strtof(),字符串转float浮点,类似的有strtodstrstr(), 字符串子串匹配strcpy(), 小字符串往大字符串全量拷贝,拷完后目标字符串末尾自动追加\0strncpy(), 拷贝固定长度的字符串至目标字符串,可调节两个字符串偏移位置来实现灵活拷贝,拷贝完需末尾手动添加\0strlen(), 获取字符串长度,不含\0strcat(),将src字符串追加到dest字符串末尾,自动识别\0strncat(),字符串连接,往末尾追加n个字符
内存管理
重点掌握前4个常用的即可,内存大小单位均为Byte。
malloc(), 从堆里申请固定大小的连续内存,不初始化calloc(), 从堆里申请固定大小的连续内存,并统一初始化为0free(), 释放从堆里动态申请的内存空间memset(), 将某连续内存设为某固定值memcpy(),将源连续内存固定长度的值拷贝至目标连续内存,不关心数据类型,末尾不会自动添加\0。
输入输出
sscanf(), 将字符串内容按固定格式取给对应变量;类似scanf(),从键盘取固定格式内容sprintf(), 将各变量按固定个数写入目标字符串

京公网安备 11010502036488号