小白学开发(iOS)基础C_static和extern对变量的作用(2015-07-20)

来源:互联网 发布:淘宝卖家在哪找货源 编辑:程序博客网 时间:2024/06/11 18:02
 //
//  main.c
//  关键字_static和extern对变量的作用
//
//  Created by admin on 15/7/20.
//  Copyright (c) 2015年 admin. All rights reserved.
//
#include <stdio.h>
int main(int argc, const char * argv[]) {
/*
    1. 变量分为:全局变量、局部变量
    2. 全局变量分为两种:
       2.1 外部变量
            > 特点:能在本文件和其他文件中访问,所有的同名的外部变量使用同一块存储空间
            >      默认情况下定义的全局变量都是外部变量 
       2.2 内部变量
            > 特点:只能在本文件中做全局变量使用,不能被其他文件访问
            >      不同文件中的内部变量互不干扰,即不同文件中可以有同名内部变量出现
    3. 关键字
            > static 的作用: 定义一个内部变量
            > extern 的作用: 声明一个外部变量
                             extern仅仅是声明一个外部全局变量,并没有给它开辟存储空间
*/
//  定义一个内部变量
    static int p;
//  声明一个外部变量
    extern int s;
/*
    4. static 对局部变量的作用
            > 当局部变量用static修饰后就会延长局部变量的声明周期
            > 当程序第一次执行到定义变量的位置会给变量开辟存储空间,知道程序结束才会释放
            > 虽然static修饰局部变量后延长了局部变量的声明周期,但是并没有改变局部变量的作用范围
*/
void test()
{
    static int a = 0;  // 只会初始化一次 并开辟存储空间
    
}
    return 0;
}
0 0