C语言中级培训教程—库函数.pdf
CC语言中级培训语言中级培训
十、常用库函数
库:就是别人编写的成熟的代码的集合。
标准库就是将各个标准库就是将各个CC 系统提供的库标准化之后的一组标系统提供的库标准化之后的一组标
准头文件,这些头文件中仅列出了库函数的原型及
相关类型和一些符号常量相关类型和一些符号常量,,库文件的实现是二进制库文件的实现是二进制
代码。
链接是仅将库文件中所用到的功能链接是仅将库文件中所用到的功能,,装配到可执行文装配到可执行文
件中,
编程中尽可能使用经过长期考验的标准库是明智的选编程中尽可能使用经过长期考验的标准库是明智的选
择。
2
malloc.h 头文件
3
动态存储分配(malloc.h )
函数名函数名: malloc
原原型型: voidid **malllloc((unsiignedd siize));
功功能能:: 内存分配函数内存分配函数.在堆区在堆区分配分配sizesize个字节的个字节的
一块内存
注意:该函数返回的是void 类型的指针
程序例:
4
#include /* For _MAX_PATH definition */
#include#include
#include
void main( void )
{{
char *string; /* Allocate space for a path
namename *//
string = (char *) malloc( _MAX_PATH );
if(( stringg == NULL ))
printf( "Insufficient memory
available\n" );
ellse{{
printf( "Memory space allocated for
pathpath namename\\nn" ););
free( string );
pprintf(( "Memoryy freed\n" ););
}
}
5
错误使用malloc ()函数:
#include
#include
void main()
{{
char *p;
p = ((chhar ** ))malllloc(10)(10);
p = “Hello”; // ... ?
printf("%s\n", p);
//...//...
free(p);…… // … ?
}}
6
malloc ()函数怪异行为:
尽管申请的是空空间,可地址不为0
#include#include
#include
voidvoid main()main()
{
int *p;
pp=((int*))malloc((0););
printf("%p\n", p);
printf(printf("%d%d\\nn",*p);p);
//...
ffree((p));