十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
相同作用域下是不可以同名的。
创新互联建站基于成都重庆香港及美国等地区分布式IDC机房数据中心构建的电信大带宽,联通大带宽,移动大带宽,多线BGP大带宽租用,是为众多客户提供专业服务器托管报价,主机托管价格性价比高,为金融证券行业四川电信机房托管,ai人工智能服务器托管提供bgp线路100M独享,G口带宽及机柜租用的专业成都idc公司。
不同作用域,可以同名。
比如 a文件中有个m函数,在B文件中, 可以定义m局部变量。
你这种就是不允许的。
在C语言中,相同作用域范围的局部变量不可以同名。所以,在不同作用域下,可以出现局部变量同名的情况。
1 在不同函数中。
函数不同,局部变量完全无关,自然可以使用相同的名字。
2 在同一函数中,但作用域不同。
局部变量的作用域是定义位置,到所在大括号结束。
所以只要两个局部变量属于不同的大括号中,就可以同名。
比如
void func()
{
int a;
while(1)
{
int a;
}
for(;;)
{
int a;
}
}
这里面,第一个a的作用域包含了第二个和第三个,而后两个之间作用域不相关。三个a分别属于三个不同的大括号,可以同名。
不行。自定义函数名可以与库函数名重名,且优先选择自定义函数,但不能与代码变量名重名。但自定义函数中的代码可以用与这个函数名相同的变量名。早期的编译器是这样,现在与C++兼容的编译器如何处理此事,没试过。
可以。
子函数里的变量只在这个函数内有效,并且忽略其外部的同名变量。
是的!不可以,不光C不行,C++也不行,我认为其它语言也不可以,如果函数和变量同名在编译的时候如何判断用的是函数还是变量呢?PS:函数在不写函数调用符号时指的是函数的指针,我想这你也应该清楚。
C++编程时最好不要将变量名与函数同名,否则经常出现一些二义性错误。比如在主函数中的choice,编译器将它理解为是函数名而不是变量名,这样一来在参数中填入一个函数名,就和chocie的声明不一致了,所以就出错了。