网站首页 > 文章中心 > 其它

c语言怎么取同名函数

作者:小编 更新时间:2023-09-11 13:28:46 浏览量:233人看过

c语言中的重名函数指的是什么?为什么不能通过,请举个例子

就是指函数名相同,比如,int

func()与int

func(int),

C语言里没有函数重载,所以这样写是不行的(C++里是可以的).

c语言怎么取同名函数-图1

c语言同名函数问题

这不是两个函数,这是一个函数,extern "C" int listid(int id, OUT *);

中的extren通知编译器int listid(int id, OUT *)不在本源代码中实现,

"c"通知编译器用C调用方式调用在另外的一个源程序的函数,

C语言默认的调用方式就是C调用 C++就不同了,,所以最好加个"c"

另:调用方式规定了调用的时候输入参数的顺序和函数返回后输入参数占用的空间由调用程序释放还是由函数释放.这东西不一定要太懂,知道用"c"去考虑调用方式就可以了.

c语言怎么取同名函数-图2

参数不同也是可以的,但是执行一定会有错误,而且应该不能出现同名不同参数的的令一个函数.要不连接的时候就找不到正确的函数.

C语言 在不同的 .c 文件中可以定义相同名称的函数吗?

函数:

①C语言在相同的.c文件中一定不能定义名称相同的函数,即使是重载的,因为C语言不支持重载,这样链接的时候会报错.

变量:

①静态变量在同一个.c文件中可以命名相同,但是只能初始化一次,否则链接出错.而且实际只有一个该名字的变量.

如 static int tst; static int tst; //可以.

static int tst = 0; static int tst; //可以

static int tst = 0; static int tst = 0;//错误

具体可以百度强符号与弱符号.

以上.

C语言设计f同名函数显示土嘎嘎的粉丝们大家好

根据题意可得如下代码:

#include?stdio.h

#include?string.h

#include?stdlib.h

{

strcpy(p,?s1);

return?p;

}

int?main()

printf?("%s\n",?f());

printf?("%s\n",?f("hi,"));

printf?("%s\n",?f("hi,",?"friend!"));

return?0;

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章