C环境

1. 翻译阶段由几个步骤组成

编译过程本身也由几个阶段组成,首先是预处理器处理,在这个阶段,预处理器在源代码上执行一些文本操作。例如,用实际值代替由#define指令定义的符号以及读入由#define指令包含的文件的内容。

然后,源代码经过解析(parse),判断它的语句的意思。第二个阶段是产生绝大多数错误和警告信息的地方。随后便产生目标代码。


 

图1 编译过程

使用‘-o name ’ ,它可以使连接器把可执行程序保存在‘name’文件中,而不是‘a.out’。在缺省情况下,链接器在标准C函数库中查找,如果在编译时加上‘-lname’标志,链接器就会同时在‘name’的函数库中进行查找。

在执行程序过程中,在绝大多数机器里,程序将使用一个运行时堆栈(stack),它用于对存储函数的局不变量和返回地址。

一个ANSI C程序由声明和函数组成。函数定义了需要执行的工作,而声明则表述了函数和(或)函数将要操作的数据类型。

C语言中的关键字:

autodogotosignedunsigned

breakdoubleifsizeofvoid

caseelseintstaticvolatile

charenumlong structwhile

constexternregisterswitch

continuefloatreturn typedef

defaultforshort union


1.  在结构体中,每个成员依次存储,而在联合中,所有的成员都从偏移地址零开始存储。这样每个成员的位置都重叠在一起,在某一时刻,只有一个成员真正存储于该地址。

2.  枚举(enum)通过一种简单的途径,把一串名字与一串整数值联系在一起。

3. 用优先级规则分析C语言声明一例:

char * const *(*next)();

把上述分析结果加以慨括,这个声明表示“next是一个指针,它指向一个函数,该函数返回另一个指针,该指针指向一个类型为char的常量指针”



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值