1、头文件的包含方式
#include <stdio.h> |
默认是从 /usr/include/ 目录下搜索文件 |
#include "stdio.h" #include "../stdio.h" |
先在当前目录下搜索文件,如果没有,再去 /usr/include 下找
|
2、C语言的编译步骤
预处理(预编译) |
处理 “#” 开头的内容,进行替换(执行宏替换)、去掉注释、 |
生成预处理文件,后缀名-.i |
编译 |
编译器将高级语言翻译成汇编语言 |
生成汇编文件,后缀名-.s |
汇编 |
把汇编文件翻译成机器指令 |
生成目标文件,后缀名是-.o |
链接 |
用于将目标文件和标准库链接,得到可执行文件 |
生成的是最终的可以运行的程序 |
3、gcc命令的使用
gcc -E |
对文件进行预处理,生成预处理文件 |
gcc -S |
对文件进行编译,生成汇编文件 |
gcc -c |
对文件进行汇编,生成目标文件 |
gcc -o |
给生成的文件重新命名 |
4、运行的程序被读到内存中执行(未运行的程序被存储在U盘/硬盘等存储设备中),内存最小的存储单位是字节(B)。内存统一为每个字节分配了一个编号,编号的位数固定。例如32位系统,其地址编号长度为32位(4B长度),其地址值范围为0x0000 0000-0xFFFF FFFF
5、int a=10;
(1)、int(变量类型)——代表变量为“int”类型,进而确定变量“a”所代表的存储空间占4B
(2)、a(变量名)——代表某一段内存,对“a”的操作就是对这一段内存进行操作。变量a,意指符号a(变量名)及其所代表的四字节长度的实际物理空间(变量空间)
(3)、a=10——将常量“10”赋给变量“a” 。将十进制“10”转化为二进制“1010”后,存储在“a”变量所代表的内存空间里。该内存空间的地址由4B存储空间第一个字节的地址指定。int型变量a所代表的地址空间为四个字节长度,其首字节的地址随机分配,也是随时变化的
注:字符常量存储在计算机存储单元时,并不是存储字符,而是以其代码存储的(一般是ASCII码)。例如字符‘a’的ASCII代码是97,因此,在存储单元中存放的是97(以二进制形式存放)。