
正文
c语言中函数重名 c语言函数重命名
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
C语言中,函数是否可以与变量同名
相同作用域下是不可以同名的。
不同作用域c语言中函数重名,可以同名。
比如 a文件中有个m函数c语言中函数重名,在B文件中, 可以定义m局部变量。
你这种就是不允许的。
相关问答
Q1: 在C语言中:在同一文件中,函数的名字可否相同
C语言在同一个源程序文件中,两个函数肚饿名字不可以相同
C++允许相同,这个叫重载,但是相同名字的函数的参数的个数或者类型必须不同。
Q2: c语言中的重名函数指的是什么?为什么不能通过,请举个例子
就是指函数名相同c语言中函数重名,比如,int
func()与int
func(int),
C语言里没有函数重载,所以这样写是不行c语言中函数重名的(C++里是可以的)。
Q3: c语言中,自定义函数和库函数重名会怎么样。会编译出错吗?
如果是C++,有重载机制,不一定会出错(如果两个重名函数的参数列表不相同的话)
如果是C
#include了包含那个库函数的头文件的情况下,再定义一个重名函数,就会出错
Q4: c语言函数定义时函数名和代码中变量名可以一样吗?
不行。自定义函数名可以与库函数名重名,且优先选择自定义函数,但不能与代码变量名重名。但自定义函数中的代码可以用与这个函数名相同的变量名。早期的编译器是这样,现在与C++兼容的编译器如何处理此事,没试过。
Q5: c语言中为什么函数不能重名?请举个函数重名的例子,谢谢
可以重名c语言中函数重名,不过函数c语言中函数重名的参数类型或数量要不一致c语言中函数重名,例子如下c语言中函数重名:
//递归求阶乘
int calc(int num){
if(num==0){
return 0;
}else{
return num*calc(num-1);
}
}
//递归求任意一个整数的整数次方
int calc(int num,int count){
if(num==0){
return 0;
}else if(count == 0){
return 1;
}else{
return num*calc(num,count-1);
}
}
这两个函数方法名称完全一样,但是参数不一样,这种做法有一个叫法,叫函数的重载
关于c语言中函数重名和c语言函数重命名的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







