变量的使用注意
2015-07-25 08:23
316 查看
#include <stdio.h>
/*
1.变量作用域(作用范围)
从定义变量的那一行代码开始,一直到所在的代码块结束
2.代码块的作用
及时回收不再使用的变量,为了提升性能
*/
int test()
{
int score =200;
return0;
} //test函数结束后,score变量将会从内存中消失,释放内存空间
int main( )
{
int score;
test();
score =100;
printf("%d\n", score);//结果为100 (寻找变量就近原则)
/*
{ 代码块
int a = 10;
代码块
}
printf ("a=%d\n",a)
错误,的作用域为上面一个小的代码块,执行完代码块后,内存将被释放
a将消失,输出时会提示a未定义
*/
int a =100;
{
int a =200;//如果注释此行,结果将会是100
printf("a=%d\n",a); //结果为200,就近原则
}
printf("a=%d\n",a);//结果为100,函数块中的内容将消失
int a =100;
{
int a =200;
{
/* int a; //第一个输出结果是200,这个代码块中定义
了一个a,50将不会赋
4000
值给代码块外面的a,就近原则 */
a =50
}
printf("a=%d\n",a); //结果为50,小代码块会给a赋值一次,就近原则
}
printf("a=%d\n",a);//结果为100,函数块中的内容将消失
/*错误写法,执行第二行时,变量a尚未定义
int b;
b =a ;
int a = 10;
*/
return0;
}
/*
1.变量作用域(作用范围)
从定义变量的那一行代码开始,一直到所在的代码块结束
2.代码块的作用
及时回收不再使用的变量,为了提升性能
*/
int test()
{
int score =200;
return0;
} //test函数结束后,score变量将会从内存中消失,释放内存空间
int main( )
{
int score;
test();
score =100;
printf("%d\n", score);//结果为100 (寻找变量就近原则)
/*
{ 代码块
int a = 10;
代码块
}
printf ("a=%d\n",a)
错误,的作用域为上面一个小的代码块,执行完代码块后,内存将被释放
a将消失,输出时会提示a未定义
*/
int a =100;
{
int a =200;//如果注释此行,结果将会是100
printf("a=%d\n",a); //结果为200,就近原则
}
printf("a=%d\n",a);//结果为100,函数块中的内容将消失
int a =100;
{
int a =200;
{
/* int a; //第一个输出结果是200,这个代码块中定义
了一个a,50将不会赋
4000
值给代码块外面的a,就近原则 */
a =50
}
printf("a=%d\n",a); //结果为50,小代码块会给a赋值一次,就近原则
}
printf("a=%d\n",a);//结果为100,函数块中的内容将消失
/*错误写法,执行第二行时,变量a尚未定义
int b;
b =a ;
int a = 10;
*/
return0;
}
相关文章推荐
- Lua和C语言的交互详解
- 关于C语言中参数的传值问题
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言内存对齐实例详解
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总
- 探讨C语言的那些小秘密之断言
- C语言实现BMP转换JPG的方法
- 深入探讨C语言中局部变量与全局变量在内存中的存放位置
- C语言查找数组里数字重复次数的方法
- C语言泛型编程实例教程
- C语言中使用lex统计文本文件字符数
- C语言进制转换代码分享
- 基于C语言fflush()函数的使用详解
- C语言单链队列的表示与实现实例详解
- 关于C语言除0引发的思考
- 深入分析C中不安全的sprintf与strcpy
- Lua教程(四):在Lua中调用C语言、C++的函数
- C语言求幂计算的高效解法