3.5 作用域
作用域由变量所在的最近一对括号确定;只有在变量的作用域内才可使用它。
c++允许在作用域内的任意地方定义变量
3.6 指定存储空间分配
1,全局变量在所有函数体的外部定义,程序所有部分都可以使用;
如果在一个文件中使用extern关键字来申明另一个文件中存在的全局变量,那么这个文件可以使用这个数据
2,静态变量static
(1)如果想使局部变量的值在整个生命期里仍然存在,可以定义函数的局部变量为static,并给它一个初始值,
初始化只在函数第一次调用时执行; static变量的优点是在函数范围之外它是不可用的,所以不会被轻易改变。
#include<iostream>
using namespace std;
void func()
{
static int i=0;
cout<<"i="<<++i<<endl;
}
int main()
{
for(int x=0;x<10;x++)
{
func();
}
}
如果没有关键字static,打印出的值将总是1
(2)具有文件作用域
当应用static于函数名和所有函数外部的变量时,在文件的外部不可以使用这个名字,局部于文件
3.7运算符及其使用
如果语句是非零值则为true,如果是零则为false; 1表示true,0表示false
1.sizeof-----独立运算符
sizeof可以告诉我们数据所分配的内存大小,告诉我们任何变量使用的字节数
sizeof(double) sizeof x
2.用typedef命名别名
(1)typedef 原类型名 别名
typedef unsigned long ulong
(2)运用于指针中
int* x, y
' * ' 绑定的是右边,而不是左边;
typedef int * intptr;
intptr x, y;
则x和y都是int * 类型