十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
就是指函数名相同,比如,int
成都创新互联是少有的做网站、成都做网站、营销型企业网站、微信小程序定制开发、手机APP,开发、制作、设计、卖友情链接、推广优化一站式服务网络公司,成立于2013年,坚持透明化,价格低,无套路经营理念。让网页惊喜每一位访客多年来深受用户好评
func()与int
func(int),
C语言里没有函数重载,所以这样写是不行的(C++里是可以的)。
C语言在同一个源程序文件中,两个函数肚饿名字不可以相同
C++允许相同,这个叫重载,但是相同名字的函数的参数的个数或者类型必须不同。
这不是两个函数,这是一个函数,extern "C" int listid(int id, OUT *);
中的extren通知编译器int listid(int id, OUT *)不在本源代码中实现,
"c"通知编译器用C调用方式调用在另外的一个源程序的函数,
C语言默认的调用方式就是C调用 C++就不同了,,所以最好加个"c"
另:调用方式规定了调用的时候输入参数的顺序和函数返回后输入参数占用的空间由调用程序释放还是由函数释放。这东西不一定要太懂,知道用"c"去考虑调用方式就可以了.
参数不同也是可以的,但是执行一定会有错误,而且应该不能出现同名不同参数的的令一个函数。要不连接的时候就找不到正确的函数。
c语言不是面向对象设计的编程语言,不支持函数重载,所以不能有相同名称的函数,但是可以有相同的变量名,使用时是遵循就近原则。
你说的这些是C++的函数重载,C++是可以的,但C语言不支持函数重载
比如:
void
fun(int
n)
与int
fun(int
n)就是名称相同,返回类型不同,参数相同
void
fun(int
n)
与int
fun(int
n,int
s)就是名称相同,返回类型不同,参数类型相同个数不同
int
fun(int
n)
与int
fun(int
n,int
s)
名称相同,返回类型相同,参数类型相同个数不同
所以这些在用C语言编程时都会报错,就是不行