189 8069 5689

c语言函数名相同 c语言函数名可以相同吗

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

函数:

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:主机域名网站空间、营销软件、网站建设、皋兰网站维护、网站推广。

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

2不同的.c文件中一般不能定义名称相同的函数,比如int func(int*);如果非要定义名称相同的函数,而且函数只在该(对应的).c文件中使用,可以声明成static类型。如两个函数都定义为static int func(int*);这样就可以定义成相同名字。

变量:

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

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

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

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

2.静态变量在不同.c文件中可以命名相同。但是该变量只能在该.c文件中使用。

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

以上。

c语言中函数名是否可以和变量同名?

答案是:否

c语言中,变量和函数名称不允许相同,比如你定义一个函数int a();那么你的main函数中,如果int a=a();则会报错,这是c语言中非常讨厌的一点,当然,反对者可能会说:“容易引起名称混淆,导致不容易维护”,这是很牵强的说法,用现在流行的词汇叫做:强行为c语言的缺点洗白,c语言的这个限制,极大程度的增加了初学者,尤其是自学者的学习难度,因为初学者不会考虑变量的含义,通常定义aa,bb,cc这样更利于快速学习,但是出来这个限制,并且不知情的情况下,甚至都不知道在网上如何搜索来解决这个小问题,所以个人觉得这是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语言编程时都会报错,就是不行


分享标题:c语言函数名相同 c语言函数名可以相同吗
URL分享:http://cdxtjz.cn/article/ddoiepi.html

其他资讯