专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅
修饰全局变量 //a.cpp static int n; //定义静态全局变量 //b.cpp static int n //定义静态全局变量 静态全局变量不能被其它文件所用,别的文件中不能通过extern来使用 全局非static变量可以在别的文件中以extern方式声明并使用 修饰局部变量 void fn() { static int i=0; i++; } 这里每次调用fn,i都是上一次调用完后的值 修饰函数(静态函数) 只能在声明它的文件当中可见,不能被其它文件使用 [阅读全文] [PDF]
要理解static,就必须要先理解另一个与之相对的关键字,很多人可能都还不知道有这个关键字,那就是auto,其实我们通常声明的不用static修饰的变量,都是auto的,因为它是默认的,就象short和long总是默认为int一样;我们通常声明一个变量: int a; string s; 其实就是: auto int a; auto string s; 而static变量的声明是: static int a; static string s; 这样似乎可以更有利于理解auto和static是一对成对的关键字吧,就像priv [阅读全文] [PDF]
(1)局部静态变量 在C/C++中,局部变量按照存储形式可分为三种auto,static,register (<C语言程序设计(第二版)>谭浩强,第174-175页) 与auto类型(普通)局部变量相比,static局部变量有三点不同 1.存储空间分配不同 auto类型分配在栈上,属于动态存储类别,占动态存储区空间,函数调用结束后自动释放,而static分配在静态存储区,在程序整个运行期间都不释放.两者之间的作用域相同,但生存期不同. 2.static局部变量在所处模块在初次运行时进行初始化工作,且只操作一次 3.对于局部静态变量,如果不赋初值 [阅读全文] [PDF]
static 声明的变量在C语言中有两方面的特征:  1)、变量会被放在程序的全局存储区中,这样可以在下一次调用的时候还可以保持原来的赋值。这一点是它与堆栈变量和堆变量的区别。  2)、变量用static告知编译器,自己仅仅在变量的作用范围内可见。这一点是它与全局变量的区别。  2、问题:Static的理解  关于static变量,请选择下面所有说法正确的内容:  A、若全局变量仅在单个C文件中访问,则可以将这个变量修改为静态全局变量,以降低模块间的耦合度;  B、若全局变量仅由单个函数访问,则可以将这个变量改为该函数的静态局部变量,以降低模块间的耦合度; [阅读全文] [PDF]
1 共4条 分1页