基本概念(C语言)

1. 环境

在 ANSI C 的任何一种实现中,存在两种不同的环境
1.翻译环境:在这个环境里,源代码被转换为可执行的机器指令
2.执行环境:用于实际执行代码
标准明确说明,这两种环境不必位于同一台机器上。
例如,交叉编译器 就是在一台机器上运行,但它所产生的可执行代码运行于不同类型的机器上。操作系统也是如此
标准同时讨论了独立环境,就是不存在操作系统的环境

2. 词法规则

词法规则就像英语中的拼写规则,决定你在源程序中如何形成单独的字符片段,也就是标记
一个 ANSI C 程序由声明和函数组成。函数定义了需要执行的工作,而声明则描述了函数和(或)函数将要操作的数据类型(有时候是数据本身)。注释可以散播于源文件的各个地方
字符:三字母词——>??( [ ??) ] ??! |
??< { ??> } ??’ ^ ??= # ??/ \ ??- ~
两个问号开头在尾随一个字符一般不会出现在其他表达式送,所以把三字母词用这种形式来表示,这样就不致引起误解
注释:所有的注释都会被预处理器拿掉,取而代之的是一个空格,因此,注释可以出现在任何空格可以出现的位置
标识符:变量、函数、类型等的名字。由大小写字母、数字和下划线组成,但不能以数字开头。
标识符的长度没有限制,但标准允许编译器忽略第31个字符以后的字符。标准同时允许编译器对用于表示外部名字(也就是由链接器操纵的名字)的标识符进行限制,只识别前六位不区分大小写的字符。

3. 总结

一个C程序的源代码保存在一个或多个源程序中,但一个函数只能完整地出现在同一个源文件中。把相关的函数放在同一个文件内是一种好策略。每个源文件都分别编译,产生对应的目标文件。然后,目标文件被链接在一起,形成可执行程序。编译和最终运行程序的机器有可能相同,也有可能不同。
程序必须载入到内存中才能执行。在宿主式环境中,这个任务由操作系统完成。在自由式环境中,程序常常永久存储于 ROM 中。经过初始化的静态变量在程序执行前能获得它们的值。你的程序执行的起点是 main 函数。绝大多数环境使用堆栈来存储局部变量和其他数据。
C编译器所使用的字符集必须包括某些特定的字符。如果你使用的字符集缺少某些字符,可以使用三字母词来代替。转义序列使某些无法打印的字符得以表达,例如在程序中包含某些空白字符
注释由 /* 开始,以 */ 结束,它不允许嵌套。注释将被预处理器去除。标识符由字母、数字和下划线组成,但不能以数字开头。在标识符中,大写字母和小写字母是不一样的。关键字由系统保留,不能作为标识符使用。C是一种自由形式的语言。但是,用清楚的风格来编写程序有助于程序的阅读和维护

你可能感兴趣的:(C和指针,编译器)