嵌入式程序员需要了解的几个问题
dPS p1,p2;
tPS p3,p4;
第一个扩展为struct s * p1, p2;
上面的代码定义p1为一个指向结构的指,p2为一个实际的结构,这也许不是你想要的。第二个例子正确地定义了p3 和p4 两个指针。
晦涩的语法
16. C语言同意一些令人震惊的结构,下面的结构是合法的吗,如果是它做些什么?
int a = 5, b = 7, c;
c = a+++b;
这个问题将做为这个测验的一个愉快的结尾。不管你相不相信,上面的例子是完全合乎语法的。问题是编译器如何处理它?水平不高的编译作者实际上会争论这个问题,根据最处理原则,编译器应当能处理尽可能所有合法的用法。因此,上面的代码被处理成:
c = a++ + b;
因此, 这段代码持行后a = 6, b = 7, c = 12。
各位工程师们,做完这些测试有什么感受呢?是否能够得心应手呢,希望你们在将来都能成为出色的工程师
linux操作系统文章专题:linux操作系统详解(linux不再难懂)c语言相关文章:c语言教程
评论