位运算符和static

来源:互联网 发布:知乎回答问题怎么赚钱 编辑:程序博客网 时间:2024/06/05 11:35

一、注释

关于注释的问题:c里有两种注释方法:/**/和//,编译器会在编译过程中会忽略掉注释的部分,但是真的忽略会将其替换成空格。

全局变量、常量必须加注释。

注释代码段时注重为何做(why),而不是how。

二、位运算符

& 按位运算

|  按位或

^按位异或

~取反

<<左移

>>右移

三、static

1.修饰全局静态变量

在全局变量之前加上关键字static,全局变量就被定义成为一个全局静态变量。

1)内存中的位置:静态存储区(静态存储区在整个程序运行期间都存在)

2)初始化:未经初始化的全局静态变量会被程序自动初始化为0(自动对象的值是任意的,除非他被显示初始化)

3)作用域:全局静态变量在声明他的文件之外是不可见的。准确地讲从定义之处开始到文件结尾。

好处:

定义全局静态变量的好处:

(1)不会被其他文件所访问,修改

(2)其他文件中可以使用相同名字的变量,不会发生冲突。

2.修饰局部静态变量

在局部变量之前加上关键字static,局部变量就被定义成为一个局部静态变量。

  1)内存中的位置:静态存储区

  2)初始化:未经初始化的全局静态变量会被程序自动初始化为0(自动对象的值是任意的,除非他被显示初始化)

  3)作用域:作用域仍为局部作用域,当定义它的函数或者语句块结束的时候,作用域随之结束。

3. 修饰静态函数

在函数的返回类型前加上关键字static,函数就被定义成为静态函数。

定义静态函数的好处:

(1)其他文件中可以定义相同名字的函数,不会发生冲突

(2)静态函数不能被其他文件所用。

从static的好处可以看出其实static的最大的作用是将变量或函数隐藏在本文件中,对于其他的文件中这些变量或方法不可见。

其实static的变量改变了其存储位置,都在静态代码区(codesegment)中,延长了其生存时间。


0 0
原创粉丝点击