ios宏

作者: 我不白先生 | 来源:发表于2020-09-07 14:26 被阅读0次

    1.宏

    1.1宏是在编译之前,对源程序进行的一种预处理工作

    1.2作用

    1.2.1见名知意:是的数字变单词
    1.2.2批量修改

    1.3分类

    1.3.1无参宏(宏常量)
    1.3.2带参宏(宏函数)

    #import "ViewController.h"
    #define C_LANGUAGE_SCORE 98//定义了一个宏名
    #define PI 3.14
    #define 整型 int
    #define TRMIN(x,y) ((x)<(y)?(x):(y))//因为MIN已经被系统定义过所以加了个公司前缀TR
    #define IS_ODD(X) ((X)%2!=0)
    #define LOWER(ch) ((ch)>='A'&&(ch)<='Z'?(ch)+32:(ch))
    
    //做练习:在两个数中求大的一个、判断偶数、小写做大写
    #define TRMAX(x,y) ((x)>(y)?(x):(y))//宏名都要写成大写
    #define IS_EVEN(x) ((x)%2==0)
    #define UPPER(bh) ((bh)>='a'&&(bh)<='z'?(bh)-32:(bh))
    
    -(void)method1
    {
        self.outputLabel.text = [NSString stringWithFormat:@"%d",C_LANGUAGE_SCORE];
    //    整型 C语言成绩 = 98;
    }
    
    -(void)method2
    {
        self.outputLabel.text = [NSString stringWithFormat:@"%d", TRMIN(3, 5)];
        int a = 5;
        self.outputLabel.text = [NSString stringWithFormat:@"%d%@奇数",a,IS_ODD(a)? @"是" : @"不是"];
        char c = 'D';
        self.outputLabel.text = [NSString stringWithFormat:@"%c",LOWER(c)];
        self.outputLabel.text = [NSString stringWithFormat:@"%d", TRMAX(3, 5)];
        int b = 6;
        self.outputLabel.text = [NSString stringWithFormat:@"%d%@偶数",b,IS_EVEN(b) ? @"是" : @"不是"];
        char e = 'd';
        self.outputLabel.text = [NSString stringWithFormat:@"%c",UPPER(e)];
    }
    

    1.宏
    1.1带参宏(续)

    #define PRINT(x,y) self.outputLabel.text=[NSString stringWithFormat:@#x"=%d,"@#y"=%d",x,y];
    

    1.2带参宏注意事项
    1.2.1带参宏中的参数一定要用括号括起来,以防替换后的优先级问题

    1.2.2带参宏中的整个表达式也要用括号括起来,以防止替换后的优先级问题
    1.2.3带参宏中有定义变量语句时,应该用大括号括起来形成复合语句,以防止变量的重定义问题。
    1.2.4调用带参宏时,不要使用++、--

    相关文章

      网友评论

          本文标题:ios宏

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