A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 温天恩 中级黑马   /  2014-7-14 08:43  /  1698 人查看  /  18 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 温天恩 于 2014-12-11 16:09 编辑

12333333333333333333333333


18 个回复

倒序浏览
不可以,C语言中没有重载
回复 使用道具 举报
⒈心只霸占沵 发表于 2014-7-14 08:59
不可以,C语言中没有重载

哦,这样啊!
回复 使用道具 举报

但是C语言里分内部函数和外部函数,内部函数跟外部函数可以重名!
回复 使用道具 举报
⒈心只霸占沵 发表于 2014-7-14 09:04
但是C语言里分内部函数和外部函数,内部函数跟外部函数可以重名!

内部函数和外部函数是不是指本文件内的函数和其它文件内的函数?
回复 使用道具 举报
温天恩 发表于 2014-7-14 09:06
内部函数和外部函数是不是指本文件内的函数和其它文件内的函数?
  1. static和extern对函数的作用
  2. 函数可分为:内部函数和外部函数
  3. 外部函数:在本文件中定义的函数能被其他文件访问
  4. 内部函数:在本文件中定义的函数不允许其他文件访问,只允许本文件访问

  5. extern对函数的作用
  6. 1.完整的声明和定义一个外部函数
  7. 2.默认情况下的所有函数都是外部函数,所以extern可以省略
  8. 3.C语言中不允许有同名的外部函数

  9. static对函数的作用
  10. 1.声明和定义一个内部函数
  11. 2.整个程序中,允许不同文件有同名的内部函数

  12. 总结
  13. 1.不允许有同名的外部函数,无论同文件还是不同文件都不允许
  14. 2.同文件中不允许有同名的内部函数,但是不同文件中可以有同名的内部函数
  15. 3.可以有同名的内部函数和外部函数,即两个函数同名,但一个是外部函数,一个是内部函数
复制代码
回复 使用道具 举报 1 0
愿望 中级黑马 2014-7-14 09:35:50
7#
当然不可以啊 , 编译的时候就错了
回复 使用道具 举报

外部函数和内部函数可以重名不是lz所说的函数重载,因为无法直接访问内部函数
回复 使用道具 举报
C语言是不支持重载的,同一作用域内不能重名,但不同文件的函数可以重名加static限制作用域
回复 使用道具 举报

很细致,非常感谢。第一遍C语言的视频看的没有你细致啊!
回复 使用道具 举报
fantacyleo 发表于 2014-7-14 10:19
外部函数和内部函数可以重名不是lz所说的函数重载,因为无法直接访问内部函数  ...

这样啊,有点理解了,谢谢!
回复 使用道具 举报
2L正解。
回复 使用道具 举报
c语言不支持函数重载。同一作用区域不可以有函数重名,但不同作用区域中允许函数重名。不同作用区域可以通过在不同文件中使用static实现。
回复 使用道具 举报
yingzhuo1314 发表于 2014-7-14 20:03
c语言不支持函数重载。同一作用区域不可以有函数重名,但不同作用区域中允许函数重名。不同作用区域可以通 ...

知道了,谢谢!
回复 使用道具 举报
不可以~程序无法识别
回复 使用道具 举报
其实你说的情况挺像OC中的类与子类中的同名方法的,结果是子类中与父类同名的方法会覆盖父类的同名方法 ,优先执行子类中的同名方法,叫做复写。
回复 使用道具 举报
zhs 中级黑马 2014-7-14 22:08:03
17#
不可以,你说的java中的情况为重写,C语言没有继承特性,所以不可能重写。另C语言中是不允许重载的,即函数名只要相同,即使形参不同也不可以。
回复 使用道具 举报
不可以。
回复 使用道具 举报
zhs 发表于 2014-7-14 22:08
不可以,你说的java中的情况为重写,C语言没有继承特性,所以不可能重写。另C语言中是不允许重载的,即函数 ...

简单扼要,讲这么清楚,谢谢了!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马