当前位置: 首页 > 图文教程 > 开发语言 > C/C++ > C/C++:小编谈C语言函数那些事(36)

C/C++
2009年编程开发语言的使用率
C++对象模型笔记:dynamic binding
cstl -- c语言编写通用数据结构和常用算法库(模仿SGI STL)
子串匹配:不回溯算法
C++ Builder 访问 USB 口的方法
C++中二维数组的动态分配
数组和指针在编译的时候的区别
如何利用doxygen生成pdf文档
有关C++析构函数的异常(Exceptions in Destructors)
C++模板学习之函数对象之谓词
5月编程语言排行榜:D语言风采不再
一个C++类实现文件全盘搜索
C语言编程宝典之一 读书笔记
C语言嵌入式系统编程修炼(内存操作)
C++内存管理
带头结点的双循环链表
有关VA_LIST的用法
C++标准库简介(转)
一个栈类的实现(链栈)
C 引用与指针的比较

C/C++:小编谈C语言函数那些事(36)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 67 ::
收藏到网摘: n/a

C程序是由一组或是变量或是函数的外部对象组成的。 函数是一个自我包含的完成一定相关功能的执行代码段。下面小编和大家分享下C语言中的函数。

 

1.  abort函数

abort函数的功能是异常终止一个进程,其用法为:void abort(void);程序实例如下:

#include <stdio.h>

#include <stdlib.h>

int main(void)

{

  printf("Calling abort()\n");

  abort();

  return 0;

}

 2. farcalloc函数

farcalloc函数的功能是从远堆栈中申请空间,其用法为void far *farcalloc(unsigned long units, unsigned ling unitsz);程序实例代码如下:

#include <stdio.h>
#include <alloc.h>
#include <string.h>
#include <dos.h>
int main(void)
{
   char far *fptr;
   char *str = "Hello";

   fptr = farcalloc(10, sizeof(char));


   movedata(FP_SEG(str), FP_OFF(str),
     FP_SEG(fptr), FP_OFF(fptr),
            strlen(str));
   printf("Far string is: %Fs\n", fptr);
   farfree(fptr);
   return 0;
}

3.  farfree函数

farfree的功能是从远堆中释放一块, 其用法为:void farfree(void);程序实例代码如下:

#include <stdio.h>

#include <alloc.h>

#include <string.h>

#include <dos.h>

int main(void)

{

   char far *fptr;

   char *str = "Hello";

   fptr = farcalloc(10, sizeof(char));

   movedata(FP_SEG(str), FP_OFF(str),

            FP_SEG(fptr), FP_OFF(fptr),

            strlen(str));

   printf("Far string is: %Fs\n", fptr);

   farfree(fptr);

   return 0;

}

4. farrealloc函数

farrealloc函数的功能是调整远堆中的分配块,其用法为:void far *farrealloc(void far *block, unsigned long newsize);程序实例代码如下:

#include <stdio.h>

#include <alloc.h>

int main(void)

{

   char far *fptr;

   fptr = farmalloc(10);

   printf("First address: %Fp\n", fptr);

   fptr = farrealloc(fptr,20);

   printf("New address  : %Fp\n", fptr);

   farfree(fptr);

   return 0;

}