C语言函数大全

preview
需积分: 0 64 下载量 63 浏览量 更新于2007-11-19 收藏 335KB DOC 举报
### C语言函数大全知识点 #### 一、内存管理函数 ##### 1. **brk** - **功能**:更改数据段空间的分配。 - **原型**:`int brk(void *endds);` - **位置**:`alloc.h` - **说明**: - 将程序数据段的顶部设置为`endds`所指向的内存位置。 - 调用成功后返回`0`;若调用失败,则返回`-1`并设置`errno`。 ##### 2. **calloc** - **功能**:分配内存。 - **原型**:`void *calloc(size_t nelem, size_t elsize);` - **位置**:`stdlib.h`, `alloc.h` - **说明**: - 为`nelem`个数据项的每个元素分配`elsize`字节的空间,并在该空间中保存`0`值。 - 返回一个指向新分配块的指针;若没有足够的空间则返回`NULL`。 ##### 3. **coreleft** - **功能**:返回测出的未使用内存量。 - **原型**:小型模块中`unsigned long coreleft(void);` - **位置**:`alloc.h` - **说明**: - 返回可用内存的量(按照字节计算)。 ##### 4. **faralloc** - **功能**:从高端开始分配内存。 - **原型**:`void far *farmalloc(unsigned long nbytes);` - **位置**:`alloc.h` - **说明**: - 返回一个指向新分配数据块的指针;若没有足够的空间创建数据块,则返回`NULL`。 ##### 5. **farcoreleft** - **功能**:返回测出的高端未使用内存量。 - **原型**:`unsigned long farcoreleft(void);` - **位置**:`alloc.h` - **说明**: - 返回最高分配数据块和内存末端之间剩余的所有空间量(按照字节计算)。 ##### 6. **farfree** - **功能**:从高端释放一个数据块。 - **原型**:`void far free(void far *block);` - **位置**:`alloc.h` - **说明**: - 释放从高端开始分配的内存块。 ##### 7. **farcalloc** - **功能**:从高端开始分配内存。 - **原型**:`void far *farcalloc(unsigned ling nunits, unsigned ling unitsz);` - **位置**:`alloc.h` - **说明**: - 为`nunits`数据项的每个`unitsz`个字节分配空间,并返回指向新分配块的指针;若没有足够的空间创建数据块,则返回`NULL`。 ##### 8. **farrealloc** - **功能**:调整高端的分配数据块。 - **原型**:`void far *farrealloc(void far *oldblock, unsigned long nbytes);` - **位置**:`alloc.h` - **说明**: - 尝试重新分配数据块,如果分配失败或`size == 0`,则返回`NULL`。 ##### 9. **free** - **功能**:释放通过`malloc`或者`calloc`分配的数据块。 - **原型**:`void free(void *block);` - **位置**:`stdlib.h`, `alloc.h` ##### 10. **malloc** - **功能**:分配内存。 - **原型**:`void *malloc(size_t size);` - **位置**:`alloc.h`, `stdlib.h` - **说明**: - 为请求的大小(按字节计算)分配内存,并返回一个指向新分配数据块的指针;若没有足够的空间,则返回`NULL`。 ##### 11. **realloc** - **功能**:重新分配主存。 - **原型**:`void *realloc(void *block, size_t size);` - **位置**:`alloc.h`, `stdlib.h` - **说明**: - 尝试将原先分配的数据块扩大或缩小到`size`字节。如果数据块不能重新分配,或者`size == 0`,则返回`NULL`。 ##### 12. **sbrk** - **功能**:更改数据段的空间分配。 - **原型**:`void *sbrk(int incr);` - **位置**:`alloc.h` - **说明**: - 为数据块增加`incr`个字节。成功实现后,`sbrk`返回原有的中断值;若失败则返回`-1`,并设置`errno`。 #### 二、错误检测函数 ##### 1. **assert** - **功能**:对条件进行测试,可能会退出程序运行。 - **原型**:`void assert(int test);` - **位置**:`assert.h` - **说明**: - 当`test`表达式为假时,调用`assert`会打印一条消息到标准输出,并且可能调用`abort`来终止程序。 #### 三、输入输出函数 ##### 1. **bioscom** - **功能**:RS-232的I/O通讯。 - **原型**:`int bioscom(int cmd, char abyte, int port);` - **位置**:`bios.h` - **说明**: - `cmd`的值及含义如下: - `0`:设置通讯参数`abyte`。 - `1`:将`abyte`发送出去。 - `2`:接受一个字符。 - 其他命令值可能涉及其他特定的功能。 --- 以上介绍的是C语言中常见的内存管理、错误检测以及输入输出相关的函数。这些函数在编写C程序时非常实用,能够帮助开发者更好地管理内存资源、检测程序运行状态以及处理输入输出操作。对于初学者来说,理解这些函数的基本用法和作用是非常重要的,这有助于提高编程效率和代码质量。
wikinginin
  • 粉丝: 2
  • 资源: 21
上传资源 快速赚钱
voice
center-task 前往需求广场,查看用户热搜

最新资源