重新学习C语言笔记 ---变量作用范围
2013-11-10 08:20
477 查看
在所有函数(包括MAIN函数)以外定义的变量(一般定义在预处理命令后)是全局变量(项目里所有其他文件可见)
static 关键字用在全局变量里表示 作用范围在该文件
用在函数里的变量前表示该变量的内容会保存到下一次该函数被调用
用在函数名前表示表示该函数只可以在该文件里被调用(申明和定义时都得加)
当全局变量与局部变量重名的时候,起作用的是局部变量,全局变量被屏蔽掉。
例如:
#include <stdio.h>
#include <stdlib.h>
void decoupeMinutes(int heures, int minutes);
int main(int argc, char *argv[])
{
decoupeMinutes(heures, minutes);
printf("%d heures et %d minutes\n", heures, minutes);
return 0;
}
void decoupeMinutes(int heures, int minutes)
{
heures = minutes / 60; // 90 / 60 = 1
minutes = minutes % 60; // 90 % 60 = 30
}
在下面函数里起作用的是decoupeMInutes里面的变量而不是全局变量,全局变量被屏蔽掉了,没有得到任何改变。
static 关键字用在全局变量里表示 作用范围在该文件
用在函数里的变量前表示该变量的内容会保存到下一次该函数被调用
用在函数名前表示表示该函数只可以在该文件里被调用(申明和定义时都得加)
当全局变量与局部变量重名的时候,起作用的是局部变量,全局变量被屏蔽掉。
例如:
#include <stdio.h>
#include <stdlib.h>
void decoupeMinutes(int heures, int minutes);
int main(int argc, char *argv[])
{
decoupeMinutes(heures, minutes);
printf("%d heures et %d minutes\n", heures, minutes);
return 0;
}
void decoupeMinutes(int heures, int minutes)
{
heures = minutes / 60; // 90 / 60 = 1
minutes = minutes % 60; // 90 % 60 = 30
}
在下面函数里起作用的是decoupeMInutes里面的变量而不是全局变量,全局变量被屏蔽掉了,没有得到任何改变。
相关文章推荐
- [学习笔记]变量的定义与作用范围(使用)
- 【学习笔记】【C语言】static和extern对变量的作用
- C程序设计语言(K&R)学习笔记--3.函数、作用域、内部变量与外部变量
- C语言学习笔记(一)变量声明的规则
- C语言学习笔记【函数】函数调用与变量的作用域
- JS学习笔记(二)变量、作用域及内存问题
- 重新学习C语言笔记--文件(2)
- JavaScript高级程序设计学习笔记--变量、作用域和内存问题(一) (变量、作用域)
- c语言学习之 变量的分类学习笔记
- php学习之 认清变量的作用范围
- C语言学习笔记【结构体01】结构体变量与结构体数组
- 【学习笔记】【C语言】变量的内存分析
- js高程第四章 变量、作用域和内存问题------学习笔记
- 黑马程序员之--C语言学习笔记之变量、常量和注释
- C语言学习笔记:12_变量的存储方式和生存期
- 我的C语言学习笔记之变量
- 【黑马程序员】C语言学习笔记之常量和变量(四)
- C#学习回顾笔记三:变量是什么,变量有什么作用
- 黑马程序员——C语言学习笔记03 变量在内存中存储的细节、位运算
- 黑马-C语言-函数,变量,及变量作用范围