新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
相同作用域下是不可以同名的。
创新互联制作网站网页找三站合一网站制作公司,专注于网页设计,网站制作、网站设计,网站设计,企业网站搭建,网站开发,建网站业务,680元做网站,已为1000+服务,创新互联网站建设将一如既往的为我们的客户提供最优质的网站建设、网络营销推广服务!
不同作用域,可以同名。
比如 a文件中有个m函数,在B文件中, 可以定义m局部变量。
你这种就是不允许的。
完全可以的。
其实你的声明写成这样都可以:
double average(double[10]); //声明
声明里的a只是一个象征性的东西,没有作用,它的可见性只在声明语句内部。
#include
int
b
=
2;
//
b是全局变量
int
fun(int
*k)
{
b
=
*k
+
b;
//
全局变量b的值被更改
return(b);
//
返回改变后的全局变量的值
}
int
main()
{
int
a[10]
=
{1,2,3,4,5,6,7,8},i;
for(i
=
2;i
4;i++)
{
//
用a[2](=
3)和a[3](=
4)两次调用函数fun()
b
=
fun(a[i])
+
b;//
第一次调用前,b
=
2,调用后,b
=
5
+
5
=
10
|第二次调用前,b
=
10,调用后,b
=
14
+
14
=
28
printf("%d",b);
//
第一次输出10
|第二次输出28
}
printf("\n");
return
0;
}
不行。自定义函数名可以与库函数名重名,且优先选择自定义函数,但不能与代码变量名重名。但自定义函数中的代码可以用与这个函数名相同的变量名。早期的编译器是这样,现在与C++兼容的编译器如何处理此事,没试过。