1.明确计算机内存相关概念 ? ? ? 内存:暂存CPU数据运算时的数据或者运算之后的数据 ? ? ? ? ? ? ? ? 优点:速度快 ? ? ? ? ? ? ? ? 缺点:掉电丢失 ? ? ? ? ? ? ? ? 结论:程序最终玩的内存(玩的不是程序,玩的是内存) ? ? ? 字节(Byte):计算机中将内存分成一格一格,每一格用来存一个数字 ? ? ? ? ? ? ? ? 每一格专业术语叫字节,内存的最小存储单元为字节 ? ? ? 地址(address):计算机中给内存的每个字节指定一个编号,此编号从0开始 ? ? ? ? ? ? ? ? 此编号专业术语叫地址 ?? ? ?? ? ? ? 存储区(buffer):计算机中将一个字节或者多个字节形成的存储单元称之为存储区 ?? ? ? ? ? ? ? ? ?例如:计算机中可能需要4个字节的存储区来存储300亿这个大数 ? ? ? 首地址(俗称起始地址,base address):存储区中第一个字节的地址 ? ? ?? ? ? ? 问:那么C程序如何分配内存空间呢? ? ? ? ? ? ? ?一旦将来分配好内存,就可以向内存存数或者从内存读数 ? ? ? 答:通过定义变量来分配内存
2.变量功能:就是为了分配内存空间,并且将来分配的内存空间里存储的数字可以随时改变
3.定义变量的语法格式:数据类型 ? 变量名 ? = ?初始值(可以有,可以没有); ? ? ? 例如:int ?var = 250; ? ? ? 说明: ? ? ? int:它是一个关键字,表示将来可以分配4字节内存空间 ? ? ? var:变量名 ? ? ? 250:将来分配的内存存储区默认放一个数字250 ? ? ? 此条语句动作:将来操作系统会帮你分配4字节内存并且往这块内存放一个数字250
4.定义变量的四种形式: ? ? ? 1.只定义(只分配内存,不会往里面放数) ? ? ? ? ?int ?var; //虽然没有往里面放数,但是里面存在一个随机乱七八糟的数 ? ? ? 2.定义并且初始化(分配内存并且往里面放一个数字) ? ? ? ? ?int var = 250; ? ? ? 3.连续只定义 ? ? ? ? ?int var1, var2, var3; ? ? ? 4.连续定义并且初始化 ? ? ? ? ?int var1 = 1, var2 = 2, var3 = 3;
5.标识符命名问题 ? ? ? 标识符(类似姓名):就是变量名(例如:var)或者函数名(例如:main,printf) ? ? ? 标识符命名规则: ?? ?1.第一个字母不能是数字,只能是字母或者下划线,区分大小写 ?? ? ? 例如:int ?2var; //gcc报错 ?? ??? ? ? ? ? ? int v2ar; //可以 ?? ??? ? ? ? ? ? int _v2ar; //可以 ?? ?2.尽量做到见名知意! ? ? ? ? ? ? ? ? ? ? int age = 18; ?? ? ? int ?weight = 128;?? ? ? ? ? ? ? ? ? ? ? ? int height = 172; ?? ?3.驼峰(windows程序员)和下划线(linux程序员) ? ? ? ? ? ? ? ? ? ? 驼峰:int nAge = 18;? ?? ? ? ? ? ? ? ? int CreateWindows=250; ?? ? ? 下划线:int create_windows = 250; ?? ?4.C语言的关键字:有特殊含义功能的单词,这些单词不能随意使用 ?? ? ? 例如:int , return, void, main, include等 ?? ? ? ? ? ? ? ? int int ?= 250; //不能用关键字取变量名 ? ? ? ? ? ? ? ? ??? ? ? ? ? 6.C语言编程风格要求: a)各种该 ? ?该空格空格,该对齐对齐,该TAB键TAB键,该独占一行独占一行 ? ?int main(void) {printf("我是牛掰的人.\n");return 0;} ? ? b)代码尽量靠屏幕左侧2/3区域,如果超过换行 ? ? printf("aaaaaaaaaaaaaaaaaaaa" ? ? ? ? ? ? ? ? "aaaaaaaaaaaaaaaaaaaa" ? ? ? ? ? ? ? ? "aaaaaaaaaa\n"); ? c)注意标识符问题
案例:编写C程序,掌握变量的玩法 实验步骤: mkdir -p /home/tarena/stdc/day02/ cd /home/tarena/stdc/day02/ vim var.c gcc -E -o var.i var.c gcc -c -o var.o var.i gcc -o var var.o ./var
一步到位: gcc -o var var.c ./var
|