常量和变量
2018-04-19 本文已影响30人
qianranow
0. 常量
- 概念:一些
不能改变
的数据 - 定义
// 整型常量 printf("%li\n", 10l); // 单精度浮点型常量 printf("%f\n", 5.2f); // 双精度浮点型常量 printf("%lf\n", 66.8); // 字符型常量 printf("%c\n", 'a'); // 转义字符型常量 '\n'; // 字符串型常量 printf("%s\n", "abc");
1. 变量
- 概念
- 一个存储数据的
容器
- 引用着某个
具体值
,并且可以改变
这个引用
- 一个存储数据的
- 定义
- 方式一:
先定义
再初始化
int a; a = 100; printf("%i\n", a);
- 方式二:
定义同时初始化
int a = 100; printf("%i\n", a);
- 方式三:
先定义
再完全初始化
int a, b; a = b = 100; printf("a = %i, b = %i\n", a, b);
- 方式四:
定义同时不完全初始化
int a, b = 100; a = 88; printf("a = %i, b = %i\n", a, b);
- 方式一:
2. 作用
- 方便维护
int a = 8; printf("%i\n", a + 1); printf("%i\n", a + 2); printf("%i\n", a + 3);
- 节省空间
// 打印多遍 "不要温和地走进那个良夜。" printf("不要温和地走进那个良夜。\n"); printf("不要温和地走进那个良夜。\n"); printf("不要温和地走进那个良夜。\n"); ... // 问题 1. 这样整个源码文件会比较大,占用磁盘空间 2. 当解释执行这些字符串的时候,都会开辟内存空间,要开辟多份,占用内存空间
3. 注意
- 一个变量只能引用
一个值
- 变量名使用之前一定要
赋值
- 命名规范
1. 由 英文字母、数字 和 下划线 组成; 2. 英文字母区分大小写; 3. 非关键字; 4. 不能使用数字开头; 5. 见名知意; 6. 驼峰标识。
4. 内存分析
- 变量所占用字节数不仅跟
类型
有关,还跟编译器环境
有关 - 变量存储单元的
第一个字节
的地址就是该变量的地址
- 内存寻址
由大到小
变量内存.pngint a = 10; int b = 100; printf("%p\n", &a); printf("%p\n", &b); char *c = &a; for (int i = 0; i < sizeof(a); i++) { int result = c[i]; printf("%i\n", result); }