可以重名,不过函数的参数类型或数量要不一致,例子如下:
//递归求阶乘
int calc(int num){
if(num==0){
return 0;
}else{
return num*calc(num-1);
}
//递归求任意一个整数的整数次方
int calc(int num,int count){
}else if(count == 0){
return 1;
return num*calc(num,count-1);
这两个函数方法名称完全一样,但是参数不一样,这种做法有一个叫法,叫函数的重载
如果是C++,有重载机制,不一定会出错(如果两个重名函数的参数列表不相同的话)
如果是C
#include了包含那个库函数的头文件的情况下,再定义一个重名函数,就会出错
如果全局变量和局部变量重名,局部变量将覆盖全局变量.
所以局部a覆盖全局a
main内a
=
懂?覆盖的只是重名的,不是全部的,懂?
就是指函数名相同,比如,int
func()与int
func(int),
C语言里没有函数重载,所以这样写是不行的(C++里是可以的).
以上就是土嘎嘎小编为大家整理的c语言内部与外部函数重名相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!