2019-11-26 回答

有两种理解.(1)库函数是c语言的内部函数或自带函数,外部函数即程序员自定函数.

(2)凡加写了extern 的函数是外部函数.

第一种理解好懂:

c语言的内部函数指的是c语言自带的函数,无论是动态链接的或静态链接的. 这些函数通过c语言的头文件定义了.

例如, sin(),cos()等数学函数,在math.h中定义了,输入输出函数 printf(),fgetc()在stdio.h中定义了,时间函数表time(),ctime()等在time.h中定义了.还有许多其他内部函数.编程时,只要用#include <库名.h>写在编程头部,程序中就可调用.

自定义函数,就是用户自己写的函数.

第二种凡加写了extern 的函数是外部函数:

自定义函数可以与程序的main()写在同一个文件中,也可以写在另一个文件中,这时你可能还另写自己的头文件或者写extern....,告诉编译器,main中用到的某某函数是"外部函数".

例如,main()在a.c中,自定义函数my_func()在a2.c中

a.c内容:

#include <stdio.h>

extern float my_func(float a);

main()

{

printf("result=%f\

",my_func(2.0));

}

a2.c 内容:

float my_func(float a)

{

return a;

}

编译:

cl -c a.c [得到a.obj]

cl -c a2.c [得到a2.obj]

cl a.obj a2.obj [链接成a.exe]

运行:

a.exe

result=2.000000

extern float my_func() 是外部说明,告诉编译,main()里的my_func是外部函数,要通过链接(.obj)得到.

如果把my_func写在a.c里:

#include <stdio.h>

float my_func(float a){

retun a;

}

main()

{

printf("result=%f\

",my_func(2.0));

}

my_func() 就不是外部函数.

编译:

cl a.c [得a.exe]

运行:

a.exe

result=2.000000

c语言中如何定义一个pos函数,c语言中函数 Pos(40, 12);是什么意思?相关推荐

  1. java 函数名调用_粉丝提问|c语言:如何定义一个和库函数名一样的函数,并在函数中调用该库函数...

    问题描述: 某个函数fun_1()是在lib内,没法修改的,在程序中大量的使用了该函数,现在想把原本fun_1失效(现在失效的方法是#define fun_1(..)),用另外一个函数fun_2(), ...

  2. C语言:如何定义一个和库函数名一样的函数,并在函数中调用该库函数

    某个函数fun_1()是在lib内,没法修改的,在程序中大量的使用了该函数,现在想把原本fun_1失效(现在失效的方法是#define fun_1(..)),用另外一个函数fun_2(),可是fun_ ...

  3. c语言参数列表定义一个三维数组,C语言多维数组

    C语言多维数组教程 一般我们使用最多的就是二维数组,很少用到三维数组,更多维的数组几乎更用不到. C语言二维数组详解 定义 C 语言的二维数组,就是数组的每一个元素都是一个一维数组. 语法 type ...

  4. c语言里宏定义算变量嘛,C语言宏定义的一些总结

    较大的C语言项目都会用大量的宏定义来组织代码,比较经典的代码就是Linux Kernel的头文件中用的宏定义.看起来宏展开就是做个替换而已,其实里面有比较复杂的规则,有关宏展开的语法规则此小结力图整理 ...

  5. Python中如何定义一个函数

    任何编程语言知识它的基础知识都是有些枯燥的,我们一定要多练习, 多实践.下面小编来将一下Python中如何定义一个函数. 最后,如果你的时间不是很紧张,并且又想快速的提高,最重要的是不怕吃苦,建议你可 ...

  6. python的input添加变量_在python中如何定义一个全局变量raw_input() 与 input()的区别...

    raw_input和input两个均是 python 的内建函数,通过读取控制台的输入与用户实现交互.但他们的功能不尽相同.下面举两个例子,来说明两者使用上的不同. 例子1Python 2.7.5 ( ...

  7. pandas使用groupby.last函数获取每个组中的最后一个值实战:groupby.last函数获取每个组中的最后一个值、groupby.nth函数获取每个组中的最后一个值

    pandas使用groupby.last函数获取每个组中的最后一个值实战:groupby.last函数获取每个组中的最后一个值.groupby.nth函数获取每个组中的最后一个值 目录

  8. java——定义一个功能将ArrayList 集合中的重复元素删除(java集合七)

    定义一个功能将ArrayList 集合中的重复元素删除 ArrayList 集合中是允许储存重复元素的 import java.util.ArrayList; import java.util.Ite ...

  9. Java 数组 定义一个数组,获取数组中的最大值和最小值,奇数个数和偶数个数...

    /*** 定义一个数组,获取数组中的最大值和最小值 奇数个数和偶数个数* */ package com.xuyigang1234.chp01;public class Demo8 {public st ...

  10. java定义一个长方形类,该类中具有长方形长宽两种属性,并具有相应的构造方法属性访问方法,计算长方形的周长和面积的方法,要求输出长是5,宽是4的长方形

    定义一个长方形类,该类中具有长方形长宽两种属性,并具有相应的构造方法 属性访问方法,计算长方形的周长和面积的方法,要求输出长是5,宽是4的长方形 public class test3 {public ...

最新文章

  1. Open*** 配置参数详解
  2. 如何将浮点型准确地转换成字符串
  3. Session的实现与存储
  4. 数据库连接池的设计思路及java实现
  5. topshelf和quartz内部分享
  6. SQL必知必会-视图
  7. Linux查看磁盘块大小
  8. 数据结构上机实践第11周项目3 - 图遍历算法实现
  9. [文档].Altera - Nios II Flash Programmer用户指南
  10. Kali下的钓鱼工具setoolkit和社工字典工具Cupp
  11. 计算机如何在文段中插入符号,插入项目符号与编号(Word 2013基础)——想象力电脑应用...
  12. Loadrunner Error code : 9013.
  13. 使用div制作表格效果
  14. 如何将电脑上的音乐传到苹果手机上?电脑音乐导入苹果手机
  15. 从零开始搭建自己的网站可外网访问从购买服务器开始
  16. 算法(六):图解贪婪算法
  17. python sendkeys用法_selenium sendkeys方法总结
  18. 婚宴座位图html5,酒席座位安排图-婚宴座位安排图【蜜匠婚礼】
  19. 苹果笔推荐购买吗?苹果平替笔推荐
  20. RedHatLinux6.5下安装无线网卡驱动

热门文章

  1. 看漫画学python ——第1章 python入门
  2. Oracle EBS MRP Forecast预测删除实例脚本
  3. MapReduce自定义排序编程
  4. vue根据按钮进行中英文切换
  5. 面试:上海黄金交易所与上海期货信息技术
  6. 如何成为一名数据科学家
  7. 读取csv格式高光谱文件,并预处理。
  8. [中科磐云]网络安全实战模拟
  9. 图片预览小窗口html,jQuery和css3超酷图片预览插件
  10. 软件测试体系学习及构建(13)-测试基础之测试工程师的基本要求