函数声明与定义
变量:
在讲变量前,先讲一下变量的声明和定义这两个概念。
-
- 声明一个变量,意味着向编译器描述变量的类型,但不为变量分配存储空间。
- 定义一个变量,意味着在声明变量的同时还要为变量分配存储空间,在定义变量的同时为变量初始化。
局部变量:通常只定义不声明。
全局变量:通常在源文件中定义,在头文件中声明。
在一个函数内部定义的变量成为局部变量,它在本函数内有效。
函数中的局部变量,如果不定义类型,其缺省是自动变量auto,
例如:int a,b=2; 其等价于auto int a,b = 2;
静态局部变量:static
静态局部变量是指在函数内部定义与声明的局部变量,他仅供本函数使用,
静态局部变量在函数结束后不消失而保留其值,即存储单元不释放。
变量已有值,就是上次函数结束时的值。
静态局部变量是在静态存储区域分配存储单元,在程序的整个运行期间都不释放。
静态局部变量在编译时初始化赋值,切只赋值一次
全局变量:
在局部之外定义的变量成为全局变量
它可以被本文件的其他函数所公用,全局变量是静态存储方式,都是在编译时分配存储单元
静态外部变量static
静态外部变量只能在当前本文件中使用,所有静态外部变量要在源文件中声明与定义。
外部变量:extern
定义函数中的全局变量时,其缺省的格式就是外部变量类型,外部变量类型应该在源文件中定义,
在头文件中声明,它可以在多个文件中使用
函数:
内部函数:
内部函数的声明与定义多在当前源文件中,而外部函数的声明在头文件,定义在源文件。
使用内部函数的优点:
-
-
-
- 使函数的使用只仅限于当前文件。
- 避免与别文件中同名函数有冲突。
-
-
外部函数:
可在当前文件以外使用的函数叫做外部函数