在函数外部声明的为全局变量.
带static的是静态全局变量, 作用域为当前文件.
不带static的是全局变量, 作用域为整个程序.
所有全局变量的生命周期都是整个程序运行
函数声明它为编译器提供了有用的信息,编译器在翻译代码的过程中,只有见到函数原型(这里即可以是声明也可以是定义)之后才知道这个函数的名字、参数类型和返回值,这样碰到函数调用时才知道怎么生成相应的指令,所以函数原型必须出现在函数调用之前,这也是遵循"先声明后使用"的原则.
注意上面说的函数原型是包括函数声明和定义两种形式的.
另外还有一种特殊情况,就是
隐式声明:
隐式声明的函数返回值类型都是int;
如下
#includestdio.h
main()
{
}
int jiec(int n)
int y=1;int i;
for(i=1;i=n;i++)
y=y*i;
return(y);
这个程序也是可以运行的.主要返回值为int.
第一,如果你没有看错就是你的书错了,只有int和char类型的函数不必声明
①.就是上面我说的
对于第二点,很好解释,因为声明的目的在于告诉编译器有这么个自定义函数,返回类型是什么,如果被调函数定义在主调函数之前,那么编译器自然就知道了这个函数
再说一句,写函数声明是编写程序的良好习惯
不要把C++的概念强加给C
当不提供函数原型,而调用处尝不知道返回值类型,此时编译器黙认返回值为整型,而实际返回类型并不是整型,结果没有做正确的数据类型转换,取到的就是错误的数据
你可以在return sum;前打印这个结果,看看计算时是否正确,
同时在循环体中打印出来各个元素值,看看传参数是否正确,如果这两处都还正确则说明只是返回值未正确类型转换.
函数定义可以写到其它(任意)函数的前或后.
只是,在使用函数前,如果当前位置处于函数定义之后,则不需要声明函数,可以直接使用.如果当前位置处于函数未定义阶段(函数定义在其后面),则要先进行函数声明,才可以使用函数.
声明可以写在函数体内,也可以在函数体外进行声明!
//声明在函数外,声明后面的函数(无论main还是其他函数)都可以调用
//声明在函数内部,只能在本函数内,声明后面的区域可以调用
以上就是土嘎嘎小编为大家整理的c语言函数外部声明相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!