标签:
1.基本知识
1.1定义:
变量类型 变量名;
int x;
1.2赋值
x = 100;
1.3输出
printf("%d", x);
常用格式符:
整型: %d,%i
浮点型:%f
字符型:%c
2.作用域和生存周期
2.1局部变量:
2.1.1在函数(代码块)内部定义的变量(包括函数的形参)
2.1.2作用域: 从定义变量的那一行代码开始,一直到代码块结束
2.1.3生命周期:代码块结束将被回收
2.1.4初始值不明
2.2全局变量
2.2.1在函数外面定义的变量
2.2.2作用域:从定义变量的那一行开始,一直到文件结尾(后面所有函数共享)
2.2.3生命周期:程序一启动就会分配存储空间,程序退出时才会被销毁
2.2.4默认初始值是0
1 #include <stdio.h> 2 3 //a,b,c全局变量 4 int a = 10; // 变量a初值为10 5 int b, c = 20; // 变量b初值为0,变量c初值为20 6 7 int sum(int v1, int v2) // 函数形参,局部变量 8 { 9 return v1 + v2; 10 } 11 void test() 12 { 13 int i = 0; // 局部变量 14 b++; 15 i++; 16 printf("b = %d, i = %d\n", b, i); 17 } 18 19 int main() 20 { 21 int e; // 局部变量 22 test(); // b = 1, i = 1 23 test(); // b = 2, i = 1 24 test(); // b = 3, i = 1 25 26 e = 10; 27 { 28 { 29 int f = 30; // 局部变量 30 } 31 } 32 return 0; 33 }
3.变量的内存分析
3.1内存寻址由大到小,优先分配内存地址比较大的字节给变量
3.2变量越先定义,内存地址越大
3.3取得变量的地址:&变量名
3.4输出地址:%p
3.5要先初始化,才能用
1 int a = 10; 2 int b = 20; 3 int c; 4 int d; 5 printf("a的地址%p\n", &a); 6 printf("b的地址%p\n", &b); 7 printf("c的地址%p\n", &c); // 可以取得地址 8 9 d = c + 1; // 不能用
标签:
原文地址:http://www.cnblogs.com/frew/p/4469935.html