美文网首页
(二)define 宏定义

(二)define 宏定义

作者: 叔叔不吃棒棒糖 | 来源:发表于2017-06-27 13:52 被阅读26次

前言

面试题大全中提到了好多关于define的面试题,正好找到一篇介绍define很好的奥,还活着哦写的博客,整理总结

1、一年有多少秒

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

为什么加ul 一开始我也不知道 ,l代表long,如果在16位的系统上(ios有16位的么)606024*365会超过15位的溢出了,所以给一个long类型,u代表的是无符号数,毕竟这个时间不可能是负数,恩是这样的
2、x平方函数

#define SQR(x) ((x)*(x))

这里可以看到有很多的括号,为何呢。写成SQR(x) xx行不行,当然一般情况下是可以的,如果x=10+1,这个表达式就编程10+110+1,代码验证过了。恩所以还是多写括号吧。
3、取消宏定义undef

#define SQR(x) ((x)*(x))

#undef SQR

以上操作可以取消SQR的宏定义,简单粗暴
4、求最大值

#define MAX(x, y) ((x)>(y) ? (x) : (y))

最小值同理,其实我目前接触到的oc这边用到的宏定义比较简单,原博文介绍c语言中的用法比较多。
原作者说了一句话非常厉害

define 是个演技高超的替身演员,但也经常耍大牌

总结自[http://www.cnblogs.com/haore147/p/3646934.html]

相关文章

  • C语言 预处理指令

    一 .宏定义 #define 宏定义宏定义会在预处理的时候,用宏定义的值来替换宏的名称 定义格式 "#define...

  • (二)define 宏定义

    前言 面试题大全中提到了好多关于define的面试题,正好找到一篇介绍define很好的奥,还活着哦写的博客,整理...

  • C 语言之宏定义与条件编译

    一. 宏定义 #define PI 3.141592653 //无参宏 #define SUM(a,b) a + ...

  • 宏和条件编译的结合使用

    宏 宏定义 有参数 无参数 1.无参数的宏 语法: #define 宏名 宏值 #define MM 10 //...

  • 宏定义 define

    // 宏定义 define // Swift 中宏定义被去除了,取代的是 let 或者 get 属性 // 例如 ...

  • #define宏定义

    编译C程序有很多步骤,其中第一步被称作预处理(preprocessing) ,C预处理器在源代码被编译之前对其做一...

  • 宏定义(#define)

    (转自:https://blog.csdn.net/yanggangclcsdn/article/details/...

  • 链表主要操作集的实现

    相关宏定义及数据类型的别名定义#define OK 1#define ERROR -1#define EMPTY ...

  • iOS技术基础

    一、define定义的宏和const定义的常量有什么区别? define定义宏的指令,程序在预处理阶段将用#def...

  • C语言专题-预处理程序

    宏定义 即 # define 指令 简单的来说宏定义就是文本的简单替换:#define 名字 文本也可以把一个...

网友评论

      本文标题:(二)define 宏定义

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