欢迎来到天天文库
浏览记录
ID:38327108
大小:438.81 KB
页数:76页
时间:2019-06-10
《附录二C语言标准库》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、上章回顾数组和指针相同与不同通过指针访问数组和通过数组访问指针指针在什么时候可以加减运算函数指针的申明和调用函数数组和数组函数C语言标准库附录二预习检查NULL和NUL有什么差别字符串操作有哪几个常用函数memcpy和strcpy有什么差别课程目标本章概述对标准C语言的补充,以及一些常用的特性。本章目标了解一些C语言特殊的宏定义掌握函数可变参数的应用重点理解NULL,offsetof,errno宏或函数掌握函数可变参数列表难点C语言库的日期函数操作难点函数的可变参数列表标准C的异常处理机制本章结构标准语言库概述C标准语言库概要和应用主要库文件标准C语言函数标准库应用总结2.1标准
2、语言概述函数库简介C语言标准库的历史标准库函数优势独立环境和宿主环境2.1.1函数库简介标准c语言包括语言标准和一组标准库支持字符和字符串、输入与输出、数学函数、期与时间转换、动态存储分配和其他特性预处理器命令#include,引用这个库的头文件例:下列程序段中头文件math.h使程序能够访问余弦函数cos。#includedoublex,y;x=cos(y);2.1.1函数库简介对定义为函数的库功能,标准C语言允许实现提供除真正函数以外的同名函数式宏例:假设担心math.h中已有名为cos的宏,则可以用下面两种方法引用基础函数。两者都利用宏名后面不能紧跟一个开括
3、号的特点,避免扩展同名函数或宏cos。#includedoublea,b,(*p)(double);…p=&cos;a=(*p)(b);/*calIsfunctioncos,always*/a=(cos)(b);/*callsfunctioncos,always*/也可以取消所有涉及到的宏的定义:#include#undefcos…a=cos(b);/*callsfunctioncos,always*/2.1.2C语言标准库的历史C语言提供的标准函数库,函数库通过#include进行引用在C89标准中:4、no.h>在95年的修正版中在C99中增加了六个函数库2.1.3标准库函数优势准确性高效性可移植性2.1.4独立环境和宿主环境“独立(free—standing)”系统嵌入式系5、统可以不要任何类型的文件系统,也可以基本上不要操作系统不要求它们提供除语言本身以外的任何东西宿主(hosted)”环境程序运行在RC机、大型机或者介于两者之间的计算机上2.2标准C语言函数标准C语言函数C++兼容性2.2.1标准C语言函数如何从标准c语言定义得到传统c语言库函数定义消除任何使用标准c语言类型的函数,如longlong与_Complex,或消除标准c语言中新增的函数(C89或C99).删除限定符const、restrict与volatile删除数组声明符括号内使用的static.将类型void*换成char*,将size_t换成int。2.2.1标准C语言函数库函数6、注意事项库名原则上是保留字。编程人员不能定义与标准库名称同名的外部对象。库头文件或文件名可以内置在实现中,但仍然要被包括之后才能访问其名称编程人员可以多次按任意顺序包括库头文件例下面的方法可以保证库头文件不被包括多次:/*IHeaderBtddef.H*/#ifndef_STDDEF/*Don.ttrytoredeclare*/#define_STDDEFltypedefintptrdiff_t;…/*0therdefinitions*/#endif2.2.2C++兼容性C++语言包括标准C语言运行库,但增加了几个C++特定库不能从c语言程序中调用c++函数,但c++提供了从C+7、+中调用c语言函数的方法在C++中,声明c语言函数时有两个要求函数声明要使用标准c语言原型,因为c++要求原型。外部c语言要显式地标为具有c语言连接,即在c++的存储类extern后面加上字符串“C”。2.2.2C++兼容性c语言函数中调用另一C语言函数externintf(void);c++中调用C语言函数extern“C“intf(void);c++中要声明一组c语言函数,则可以对所有c语言函数采用连接规范:extern“C“{doublesqrt(doublex);intf
4、no.h>在95年的修正版中在C99中增加了六个函数库2.1.3标准库函数优势准确性高效性可移植性2.1.4独立环境和宿主环境“独立(free—standing)”系统嵌入式系
5、统可以不要任何类型的文件系统,也可以基本上不要操作系统不要求它们提供除语言本身以外的任何东西宿主(hosted)”环境程序运行在RC机、大型机或者介于两者之间的计算机上2.2标准C语言函数标准C语言函数C++兼容性2.2.1标准C语言函数如何从标准c语言定义得到传统c语言库函数定义消除任何使用标准c语言类型的函数,如longlong与_Complex,或消除标准c语言中新增的函数(C89或C99).删除限定符const、restrict与volatile删除数组声明符括号内使用的static.将类型void*换成char*,将size_t换成int。2.2.1标准C语言函数库函数
6、注意事项库名原则上是保留字。编程人员不能定义与标准库名称同名的外部对象。库头文件或文件名可以内置在实现中,但仍然要被包括之后才能访问其名称编程人员可以多次按任意顺序包括库头文件例下面的方法可以保证库头文件不被包括多次:/*IHeaderBtddef.H*/#ifndef_STDDEF/*Don.ttrytoredeclare*/#define_STDDEFltypedefintptrdiff_t;…/*0therdefinitions*/#endif2.2.2C++兼容性C++语言包括标准C语言运行库,但增加了几个C++特定库不能从c语言程序中调用c++函数,但c++提供了从C+
7、+中调用c语言函数的方法在C++中,声明c语言函数时有两个要求函数声明要使用标准c语言原型,因为c++要求原型。外部c语言要显式地标为具有c语言连接,即在c++的存储类extern后面加上字符串“C”。2.2.2C++兼容性c语言函数中调用另一C语言函数externintf(void);c++中调用C语言函数extern“C“intf(void);c++中要声明一组c语言函数,则可以对所有c语言函数采用连接规范:extern“C“{doublesqrt(doublex);intf
此文档下载收益归作者所有