第二章

来源:互联网 发布:sql server 排序 编辑:程序博客网 时间:2024/05/16 16:16

局部变量的作用域:

1.主函数中定义的变量只能在主函数中使用,不能在其他函数中使用,同时,主函数也不能使用其他函数中定义的变量

2.形参变量是属于被调函数的局部变量,实参变量是属于主调函数的局部变量

3.允许在不同函数中使用相同变量名,它们代表不同的对象,分配不同的单元,也互不干扰

4.在复合语句中也可以定义变量,其作用域只在复合语句范围内

static与extern

static:用static进行修饰,该变量存放在静态数据区,其生命周期持续到整个程序执行结束,但是其作用域不发生变化,在用其修饰局部变量后,该变量只在初次运行时进行初始化工作,且只进行一次。

extern:当我们在本文件里引用一个外部声明的全局变量或函数,可以在其前面加上extern。在任何函数体外声明或定义变量时,不加extern可能时定义也可能是声明,但是加extern肯定是声明。

chara[]=”hello”;

intmain()

{

externint a;

printf(“%x\n”,a);

return0;

}

const:用来修饰变量时,表示该变量里的数据可以被访问,不能被修改。

auto: 在函数生命周期中声明的变量叫局部变量,也叫自动变量(这个变量放在内存栈中,声明入栈,使用完出栈,先进后出)。

register:用来修辞变量时,就意味着该变量会作为一个寄存器变量,让该变量的速度达到最快。

volatile:修饰变量后,每次对其值进行访问时,都会从内存里,寄存器里读取。

typedef:

使用的目的一般有两个,一个是给变量一个新名字,另一个是简化一些比较复杂的类型声明,

0 0