C语言学习笔记--C语言中变量的属性关键字

变量属性关键字的使用语法:property type var_name;

1.auto 关键字

auto关键字是C语言中局部变量的默认的关键字,C编译器默认所有的局部变量都是auto的,它表明了被修饰的关键字将被存储在栈空间上。

2.register 关键字

register关键字请求将被修饰的关键字存储于寄存器中,所以register 变量必须是 CPU 寄存器可以接受的值而且不能用&运算符获取 register 变量的地址 ,

但是 register 关键字只是请求寄存器变量,所以不一定会成功。 

3.static 关键字

1static 关键字指明变量的静态属性——局部变量存储在程序静态区
2static 关键字同时具有作用域限定符” 作用
      ①static 修饰的全局变量作用域只是声明的文件中
      static 修饰的函数作用域只是声明的文件中

4.extern 关键字

1extern 用于声明外部定义的变量和函数
    extern 变量在文件的其它地方分配空间
    extern 函数在文件的其它地方定义

2extern 用于告诉编译器用 C 方式编译
C++编译器和一些变种 C 编译器默认会按“自己”的方式编译函数和变量,通用 extern 关键字可以命令编译器“以标准 C 方式进行编译”。

extern “c”
{
    int f(int a,int b)
    {
        return a + b;
    }
}

 

static关键字和extern关键字的使用

/**************************g.c 文件**************/
static int g_i; //g_i 只能在本文件中使用
int getI()
{
    return g_i;
}
/**************************main.c 文件**************/
#include<stdio.h>
extern int getI(); //extern 声明 getI 函数是在其他地方定义的。
int main()
{
    printf("%d\n", getI());return 0;
}

 

 

参考资料:
www.dt4sw.com
http://www.cnblogs.com/5iedu/category/804081.html

posted @ 2016-09-21 09:01  CrazyDiode  阅读(1745)  评论(0编辑  收藏  举报