首页 > 代码库 > 2. C语言变量
2. C语言变量
A.变量的作用域:
1.局部变量:在函数或者代码块内部定义的变量
作用域:从定义处到代码块结束
生命周期:从定义处分配控件,代码块结束后被回收
局部变量没有默认值,要自己初始化
2.全局变量:在函数外定义的变量
作用域:从定义处到文件结尾(能被后面的所有函数共享)
生命周期:程序启动分配空间,程序退出回收
全局变量有默认值0
#include <stdio.h>
int main(int argc, const char * argv[]) {
int a = 100;
{
int a = 200;
printf("a = %d\n", a);
}
printf("a = %d\n", a);
return 0;
}
int main(int argc, const char * argv[]) {
int a = 100;
{
int a = 200;
printf("a = %d\n", a);
}
printf("a = %d\n", a);
return 0;
}
out:
a = 200
a = 100
a = 100
适合地使用块,能够提高性能,及时回收内存
块内定义的变量执行过后就会被回收
B. C语言变量的内存分析
C语言寻址由大到小#include <stdio.h>
int main(int argc, const char * argv[]) {
int a = 100;
int b = 200;
printf("The address of a is %d\n", &a);
printf("The address of b is %d\n", &b);
return 0;
}
int main(int argc, const char * argv[]) {
int a = 100;
int b = 200;
printf("The address of a is %d\n", &a);
printf("The address of b is %d\n", &b);
return 0;
}
out:
The address of a is 1606416268
The address of b is 1606416264
The address of b is 1606416264
—》相差4个字节,由大到小
2. C语言变量
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。