美文网首页基础语法
宏、#if 、#ifdef、#ifndef

宏、#if 、#ifdef、#ifndef

作者: 买买提不撸串 | 来源:发表于2018-11-21 09:56 被阅读0次

宏:能避免函数的出栈与入栈操作,减少系统开销,提高运行效率

     1.宏名一般用大写。

     2.预处理是在编译之前的处理,而编译工作的任务之一就是语法检查,预处理不做语法检查。

     3.宏定义末尾不加分号   。

      4.宏定义写在函数的花括号外边,作用域为其后的程序,通常在文件的最开头。 

       5.宏定义不分配内存,变量定义分配内存。

       6.宏定义不存在类型问题,它的参数也是无类型的。

1.简单的宏

#define PI 3.1415926

2.取两个数的最小值,带上括号更规范些

#define Min(a,b) (a<b?a:b)

3.取三个数的最小值,可以嵌套上面这个宏

#define Min3(a,b,c)  (Min(a,b)<c?Min(a,b):c)

4.定义一个UIColor 用RGB

#define UIColorFromRGBA(r,g,b,a)            [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:a]

#define  用来定义一个宏

#undef 取消宏定义

#ifdef  判断某个宏是否被定义,若被定义执行随后语句

#ifndef 与#ifdef意思相反,若宏未被定义执行随后语句

下面带“#”的if else 语句

{

#if 

........A代码块.....

#else

.........B代码块.......

 #endif

这是C语法中的预编译处理条件命令,意思和 if else一样,只不过加上“#”后,只编译条件后边的,例如进了A代码块,那么B代码块就不会编译了,里面随便写,即使不符合语法也能编译通过。最后的#endif是结束if语句的意思

}

相关文章

网友评论

    本文标题:宏、#if 、#ifdef、#ifndef

    本文链接:https://www.haomeiwen.com/subject/iwbwvftx.html