16道嵌入式C语言面试题

转载自:chinaunix

预处理器(Preprocessor)

1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)

#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL

我在这想看到几件事情:
    1) #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)
    2)懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实际的值,是更清晰而没有代价的。
    3) 意识到这个表达式将使一个16位机的整型数溢出-因此要用到长整型符号L,告诉编译器这个常数是的长整型数。
    4) 如果你在你的表达式中用到UL(表示无符号长整型),那么你有了一个好的起点。记住,第一印象很重要。

继续阅读

C/C++ Comments(0) 2013年7月10日 22:37

C语言函数的调用与参数

形式参数与实际参数

    如果一个函数要使用参数,它就必须定义接受参数值的变量。
    函数定义时填入的参数我们称之为形式参数,简称形参,它们同函数内部的局部变量作用相同。形参的定义是在函数名之后和函数开始的花括号之前。
    调用时填入的参数,我们称之为实际参数,简称实参。
    必须确认所定义的形参与调用函数的实际参数类型一致,同时还要保证在调用时形参与实参的个数出现的次序也要一一对应。如果不一致,将产生意料不到的结果。与许多其它高级语言不同,它总要做一些甚至你不希望的事情,几乎没有运行时错误检查,完全没有范围检测。作为程序员,必须小心行事以保证不发生错误,安全运行。


赋值调用与引用调用

继续阅读

C/C++ Comments(0) 2013年7月10日 21:41