变量的作用域
//
// main.c
// 变量类型
//
// Created by 向春晓 on 15/11/13.
// Copyright © 2015年 个人. All rights reserved.
//
//一, 变量的作用域
// c 语言根据作用域的不同,将变量分为局部变量和全局变量。
// 1 定义,在函数内部定义的变量,成为局部变量,形式参数也属于局部变量,
// 2 全局变量在 main函数外部。
//变量存储类型,: 普通内存, 运行时堆栈, 硬件寄存器。
// c 语言根据变量的存储类型的不同,可以把变量分为,自动变量,静态变量, 寄存器变量。
// 1 自动变量 定义, 自动变量时存储在堆栈中的,
// 默认所有的局部变量都是自动变量, auto 修饰局部变量, 但是极少用这关键字修饰。
// 生命周期,自动创建,
#include <stdio.h>
// a 是 一个全局变量,静态变量
int a;
void test() {
// b 是一个局部变量,自动变量
int b=0;
b++;
// c 是局部变量, 静态变量
static int c = 0;
c++;
printf("b=%d, c= %d\n",b,c);
}
int main(int argc, const char * argv[]) {
for(int i =0 ; i<3; i++){
test();
}
printf("Hello, World!\n");
return 0;
}
//静态便利时存储在静态内存中的, 也就是不属于堆栈,
// 哪些事静态变量
// 所有的全局变量时静态变量 , 被关键字修身static 也是静态变量
// 生命周期, 静态变量在这个运行时运作。
//register 修饰的自动变量都是寄存器变量,只有自动变量才是寄存器变量,寄存器变量只限于 int,char 和指针类型的变量使用
//生命周期,自动释放。
// 未来提高 运算速度,一般会将一些频繁使用的自动变量定义为寄存器变量,这样的程序尽可能的为他分配变量。

浙公网安备 33010602011771号