C语言重点知识,面试必备!!

1、宏定义:也就是常用来做定值用的:
            #define SQR(x){X*X};
            宏定义的函数不同与其他的函数:
例如上面的函数,实际是这样的
SQR(b+a);
运算的顺序是:b+2*b+2 并不是想象中的(b+2)*(b+2);
******记住********
#define SQR(x)x*x
int main(int argc, char* argv[])
{
    int a = 3;
int c = 4;
int b;
b = SQR(a+c);
printf("%d\n",b);


return 0;
}
2、预处理命令#define(不能以分号结束)
   在这个例子中要表示一个16位的整数;用UL表达比较合适;
  
    例如,求一年中有多少秒;
#define UL 60*60*24*365 
   
3、标识#define宏,在宏中要小心的把参数用括号括起来;
        #define MIN(a,b){(a)<=(b)?(a):(b)}
  
4、const的作用,

   定义常量,修饰函数的参数,修饰函数的返回值三个用处

5、const和#define相比前者有更多的优点,
          (1)、const 有数据类型,而#define宏常量没有,
(2)、编译器可以对前者进行类型的安全监察,而后者只能是字符替换;
          (3)、const可以进行调试,但是宏却不能,在C++中只用const,

你可能感兴趣的:(c,面试,语言,编译器)