《C和指针》学习笔记(四)第十六章~第十七章

一、div函数用于计算商和余数,结果返回到一个div_t的结构体中 二、以时间做为随机数种子:srand((unsigned int)time(NULL)); 三、字符串转换:atoi、atol把字符转换为整数和长整型,strtol、strtoul能够在函数中设置基数 四、若是一个函数的参数不在该函数的定义域以内,称为定义域错误,值过大太小叫范围错误 五、modf函数把一个浮点值分红整数和小数部分,整数部分存在第二个参数所指的区域,小数部分返回值返回 六、clock_t clock(void);返回从程序执行开始处理器消耗的时间,返回值为时钟滴答的次数,转换成秒要除以CLOCKS_PER_SEC 七、ctime函数返回一个时间格式字符串 八、difftime函数用于计算俩个时间之间秒的差值,返回值为float型 九、gmtime返回格林尼治时间   localtime返回当地时间     注意0表示一月份 十、非本地跳转:setjump、longjump 十一、信号处理函数,signal函数,用于返回一个函数指针,对特定的信号量作出相应的反应 十二、当每次信号发生时必须从新设置信号处理函数 1三、终止执行:abort函数不正常的终止一个正在执行的函数,而且产生一个SIGABRT信号量,能够设置信号处理函数在程序终止前(或者不终止)产生特定的动做 1四、atexit函数把一些函数注册为退出函数(参数为函数指针),在程序结束(正常终止,main函数返回或exit)时调用退出函数 1五、exit函数,被调用时,全部被atexit函数注册为退出函数的函数按照他们注册的顺序倒序执行。而后全部用于流的缓冲区被刷新,全部打开的文件被关闭。用tmpfile建立的文件被删除,而后退出状态给宿主环境,程序中止执行 1六、断言(assert.h)assert函数对表达式的参数进行判断,若参数为假终止程序而且打印一条错误信息 1七、可用于程序的调试,在调试完成后#define NDEBUG 就能够丢弃全部的断言,没必要一一删除 1八、qsort函数能够对固定长度的数组进行排序,bsearch在数组中寻找某元素,找到返回地址失败返回NULL 1九、一个模块的接口应该避免暴露它的实现细节