首页 / 软件开发 / C语言 / 学点C语言(34):函数 - 关于变量
学点C语言(34):函数 - 关于变量2010-04-30 博客园 万一1. 局部变量:局部变量也叫自动变量,它声明在函数开始,生存于栈,它的生命随着函数返回而结束.#include <stdio.h>
int main(void)
{
auto int i = 9; /* 声明局部变量的关键字是auto;因可以省略,几乎没人使用 */
printf("%d
",i);
getchar();
return 0;
}
2. 全局变量:全局变量声明在函数体外,一般应在函数前; 每个函数都可以使用它,不过全局变量应尽量少用.#include <stdio.h>
void add(void);
void mul(void);
int gi = 3; /* 全局变量 */
int main(void)
{
printf("%d
",gi); /* 3 */
add();
printf("%d
",gi); /* 5 */
mul();
printf("%d
",gi); /* 10 */
getchar();
return 0;
}
void add(void) {
gi += 2;
}
void mul(void) {
gi *= 2;
}
全局变量会被初始化为空,而局部变量在没有赋值前是一个垃圾值:#include <stdio.h>
int gi; /* 全局变量 */
int main(void)
{
int i; /* 句柄变量 */
printf("%d,%d
",gi,i);
getchar();
return 0;
}
当全局变量与局部变量重名时,使用的是局部变量:#include <stdio.h>
int a = 111,b = 222;
int main(void)
{
int a = 123;
printf("%d,%d
",a,b); /* 123,222*/
getchar();
return 0;
}