常用标准库:
assert.h:断言,包含assert宏。可以进行自我检查
ctype.h:字符处理,字符的分类,大小转换
errno.h:错误信息处理
float.h:浮点数特性
limits.h:整数的大小,提供了描述整数类型的宏
lcale.h:本地化
math.h:数学函数
setjmp.h:跳转
signal.h:信号处理
stdarg.h:可变长参数处理
stddef.h:经常使用的类型的定义
stdio.h:输入输出
string.h:字符串处理
stdlib.h:其他函数,字符串,数字,产生随机数,内存管理,系统通信,搜索排序等
time.h:时间和日期处理
stdbool.h:布尔类型和数值
指针与数值间转换:
void ( p=NULL;
int num=8;
p=#
int a=*((int *)p);
计算机中,使用字符串第一个字符的地址表示整个字符串(char *).
多个相同的字符串在运行时是同一个(地址)。
多个字符串可直接写在一起,不需要strcat连接,如:char * pstr="123""456";
只有包含‘\0‘的字符数组,才能当成字符串用。
char str[]="abcde";//包含6个字符,最后一个是‘\0‘,ascll码是 0.
字符串函数:strlen/strcat/strcmp/strncmp/strcpy/strncpy
输入字符串处理,自动去掉多余的输入:
char s[50]={0};
fgets(s,50,stdin);
if(strlen(s)==49&&s[48]!=‘\n‘&& s[49]==‘\0‘)
{
scanf("%*[^\n]");scanf("%*c");
}
fgets():长度为(字符串位数-1),字符为:(字符少时)内容+"\n\0" 或:(字符多时)内容+"\0"。
指针操作字符串:
char * str[50]="10\020\030\040\050\0";
char * pstr[5]={0};
pstr[0]=str;
pstr[1]=str+3;
pstr[2]=str+6;
pstr[3]=str+9;
pstr[4]=str+12;
char c=*(pstr[0]);//c的值为:‘1‘
printf("%s",pstr[0]);//输出:10
标C编程笔记day07 常用标准库介绍、字符串输入处理、字符指针的使用