C语言学习笔记--C语言中变量的属性关键字
2024-08-23 06:11:50
变量属性关键字的使用语法:property type var_name;
1.auto 关键字
auto关键字是C语言中局部变量的默认的关键字,C编译器默认所有的局部变量都是auto的,它表明了被修饰的关键字将被存储在栈空间上。
2.register 关键字
register关键字请求将被修饰的关键字存储于寄存器中,所以register 变量必须是 CPU 寄存器可以接受的值而且不能用&运算符获取 register 变量的地址 ,
但是 register 关键字只是请求寄存器变量,所以不一定会成功。
3.static 关键字
(1)static 关键字指明变量的“静态”属性——局部变量存储在程序静态区
(2)static 关键字同时具有“作用域限定符” 作用
①static 修饰的全局变量作用域只是声明的文件中
②static 修饰的函数作用域只是声明的文件中
4.extern 关键字
(1)extern 用于声明“外部”定义的变量和函数
①extern 变量在文件的其它地方分配空间
②extern 函数在文件的其它地方定义
(2)extern 用于“告诉”编译器用 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 ;
}
参考资料:
www.dt4sw.com
http://www.cnblogs.com/5iedu/category/804081.html
最新文章
- [Java Collection]List分组之简单应用.
- HibernateTemplate的一些常用方法总结
- [转]Mybatis出现:无效的列类型: 1111 错误
- 三层架构下的EntityFramework codefirst
- js init : function ()
- iOS 关于objectForKey返回类型是不是mutable
- session的方法
- 调整iFrame高度
- html中出现的script失效
- Cisco IOS Security command Guide
- jquery.cookie.js存与取以及过期时间设置
- 百练 2973 Skew数 解题报告
- java集合类深入分析之Queue篇(Q,DQ)
- Android 中 SearchView
- 【源码学习】redux-thunk
- [CodeChef-CAPTCITI]Snakes capturing the Mongoose Cities
- DWR第四篇之对象传参
- 反射中Class.forName()和classLoader的区别
- Linux期中总结
- bug: &#39;\xff&#39; 转换成-1 而不是255