重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在所有函数和结构体外定义的变量及函数都是全局的
创新互联建站主营桃城网站建设的网络公司,主营网站建设方案,成都APP应用开发,桃城h5微信小程序开发搭建,桃城网站营销推广欢迎桃城等地区企业咨询
但加上 static 后就成了文件内全局
1、记住一条就够了:在函数之外定义的变量就是全局变量。用static修饰的变量可以是全局的,也可以是局部的,所以说“用static修饰的变量是全局变量”是错误的。用static修饰的变量的生命周期与全局变量一样,但可见性仍分全局和局部。 2、全局变量在整个c文件中都能使用,而局部变量在其作用域内才能使用,举个例子: int f = 7;// 这个是全局变量int myadd(int a, int b){int c = a + b;// c是局部变量,只能在myadd中使用return c;}int main(void){printf("%d\n", c);// 因为c是myadd中定义的局部变量,这里会报错。printf("%d\n", f);// f是全局变量,这句是正确的。}
只要是在main前面声明的,就不要用在函数当中在声明了,要是在main后面声明的,还是需要在主函数中声明的
一般来说,这是个习惯啊,最好在main前面声明函数,而且在main前面声明的时候就把子函数的程序代码写完,最后在吧main的代码写完
也就是说要做子函数调用之前把子函数声明好,要不然是出错的
还有,所以得子函数都是全局函数,这个毋庸置疑