十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
静态变量,特点就是只初始化一次。所以在这里b是只定义一次的。
成都创新互联公司服务项目包括铜山网站建设、铜山网站制作、铜山网页制作以及铜山网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,铜山网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到铜山省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
于是
1 会占用,但是很少。 和全局变量定义差不多
2 没有,因为不存在多次定义,只定义了一次。
3 除了生命周期,最大的差别就是作用域了。
局部变量,只能在函数内访问,而全局变量就是谁都能访问,这样很容易出现混乱,尤其是多线程的情况下。
除此外,非静态的局部变量,在函数退出后内存就释放了,如果所有变量都定义成全局的,那明显是对内存的一种浪费。
C语言中主函数中定义的变量只能在主函数中使用,所以你还得再定义一个变量。
当然,捏可以把主函数中定义的这个变量传递给被调用的函数作为参数。
例如
void fun(int x)
{
}
main()
{
int num=9;
fun(9);
}
但是如果你要在被调用函数中使用这个变量例如
fun()
{
num++;
}
像这样,就是错的,编译器会报错,main中定义的变量是局部变量,只能在main中使用。
你可以在main外部定义一个变量,这样在被调用函数中也就可以使用了。
标准C是不可以,但C++是可以的。
标准C必须在函数开头定义变量!
比如
main()
{
int a;
a=2;
{
int b;//这里可以定义b,因为它在大括号内,相当于在一个函数内
b=3;
}
}