美文网首页
宏定义和typedef

宏定义和typedef

作者: MarkTang | 来源:发表于2016-01-09 00:27 被阅读134次
    **typedef**
    
    typedef
    
    typedeef 原有数据类型别名
    可以给系统类型起别名 也可以给自定义类型
    
    指向函数起别名
    int (*functionPpoint)(int,int)
    这种指向函数的别名就是 函数名称
    **文件包含**
    
    文件包含
    #include<>
    先去编译器 —> 再去环境查找
    #include “”
    先去编译器查找—>再去编译器—> 再去环境查找
    
    头文件卫士  防止重复导入
    #ifndef __ZS__H__
    #define__ZS__H__
    #endif
    **宏定义**
    
    #define SCORE 100
    
    #ifdef SCORE  //判断有没有定义这个宏
    
    #elif COUNT
    
    #else
    
    #endif
    
    #ifndef Score  //没有定义这个宏满足条件
    
    #else 
    #endif
    **条件编译**
    
    条件编译
    
    只会将满足条件的编译,后面内容将不再编译
    
    #define SCORE 100
    
    #if SCORE ==100
    
    #elif
    
    #else
    
    #endif
    
    优点:缩小应用程序的大小
    一般用于调试和发布阶段进行测试
    
    #define NJLog(format,…) printf(format,##_VA_ARGS__)
    #else
    NJLog(format,…)
    **宏定义**
    
    宏定义
    格式:
    1.不带参数
    #define 宏名值
    注意不要分号
    #define COUNT 5
    
    2.带参数
    
    提前
    结束:
    #undef COUNT 
    **局部变量**
    
    局部变量
    概念;局部变量就是定义在函数,代码块和函数形参雷彪中的变量,我们就称之为局部变量
    作用范围:从定义的的哪一行开始一直知道遇到大括号或者遇到return为止
    特点:相同作用域范围内不能出现同门的局部变量
    不同作用域范围内出现同门的局部变量,内部的局部变量会覆盖外部的局部变量
    注意:局部变量没有固定的初始化值,如果没有对局部变量惊醒初始化,那么局部变量中是一些随机的值,所以开发中千万不要使用位初始化的局部变量
    存储位置:局部变量存储在栈中,荡作用域结束系统会自动释放栈中的局部变量
    **const关键字**
    
    const关键字
    类型修饰符
    可以让基本数据类型的变量位常量
    
    普通变量
    左边
    const int num = 100;
    右边
    int const  num = 100;
    
    指针
    
    如果写在指针类型左边,意味着指针指向可以改变,但是指向的内存空间中的值不能改变
    
    左边
    const char *name =“zyz”;
    
    如果卸载指针类型的右
    右边
    char const *name =“zyz”;
    
    指针右边
    

    相关文章

      网友评论

          本文标题:宏定义和typedef

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