美文网首页
预处理指令与typedef

预处理指令与typedef

作者: SimpleSJ | 来源:发表于2018-10-31 16:09 被阅读0次

1.预处理指令

  • 什么是预处理指令:
    • 在我们的文件翻译成0和1之前做的操作我们称之为预处理指令
    • 一般情况预处理指令都是以#号开头的

常用预处理指令
1.宏定义
2.条件编译
3.文件包含


  • 常用的条件编译宏以及使用
//根据运行的环境选择执行相应的代码
#if DEBUG == 0
    char *name = "lnj";
    char *pwd = "123";
#else
    char *name = NULL;
    char *pwd = NULL;
#endif

// 判断是否定义了后面的宏
#ifdef SCORE 
    printf("score\n");
#elif COUNT
    printf("count\n");
#else
    printf("OTHER\n");
#endif

// 是不是没有定义名称叫做SCORE的宏
#ifndef SCORE 
    printf("no score\n");
#else
    printf("score\n");
#endif

2.typedef

  • 作用:typedef可以给一个已知的数据类型起别名 (外号)
    • typedef不仅能给系统原有的数据类型起别名, 也可以给一个自定义的数据类型起别名
    • 利用typedef给数据类型起别名, 并不会生成一个新的数据类型, 仅仅是给原有的类型起了一个别名而已
//给基本数据类型起别名
typedef int Integer;

//给结构体类型起别名
 typedef struct Person
 {
 int age;
 double height;
 char *name;
 } SPerson;

//定义枚举类型的同时给枚举类型起别名, 并且省略枚举原有类型名称
typedef enum
{
    kGenderMale,
    kGenderFemale
} SEX;

// 注意: 如果是给指向函数的指针起别名, 那么指向函数的指针的指针名称就是它的别名
// typedef id (*IMP)(id, SEL, ...); oc中的IMP类型,就是一个指向方法实现的指针
typedef int(*functionPotinter)(int , int);
int sum(int v1, int v2)
{
    return v1 + v2;
}
int main(int argc, const char * argv[]) {
Integer age = 30;
SPerson sp;
SEX sex;
sex = kGenderMale;

functionPotinter func = sum;
int a = func(5,8);
    return 0;
}

相关文章

  • 预处理指令与typedef

    1.预处理指令 什么是预处理指令:在我们的文件翻译成0和1之前做的操作我们称之为预处理指令一般情况预处理指令都是以...

  • 02-预处理指令(宏定义 条件编译 文件包含)、typedef、

    目录 1 预处理指令2 typedef3 typedef和宏定义的区别4 const关键字5 宏定义(define...

  • C语言 枚举类型和预处理指令

    枚举的定义 预处理指令 所有的预处理指令都是以#开头 预处理指令分为三种 宏定义 条件编译 文件包含 预处理指令在...

  • 面向对象(三十三)-预处理指令

    什么是预处理指令预处理器指令指导编译器在实际编译开始之前对信息进行预处理。预处理指令注意点所有的预处理器指令都是以...

  • C和指针——简介篇

    程序示例 预处理指令 以上5行都为预处理指令。因为它们是由预处理器解释的。预处理器读入源代码,根据预处理指令对其进...

  • 预处理指令 什么是预处理指令:在我们的文件翻译成0和1之前做的操作我们称之为预处理指令一般情况预处理指令都是以#号...

  • C语言中的预处理指令和typedef

    在实际开发中,有时候在编译之前还需要对源文件进行简单的处理。例如,我们希望自己的程序在Windows和Linux下...

  • iOS开发之宏定义的使用

    a、宏定义是预处理指令,所有的预处理指令以#开头 b、预处理指令的作用域是在编写指令的那一行开始,到文件的结尾结束...

  • C#魔仙-lesson_02-预处理器指令

    预处理器指令 预处理器指令指导编译器在实际编译开始之前对信息进行预处理。所有的预处理器指令都是以 # 开始。且在一...

  • 第14章 预处理器

    英文原版:P315 诸如#define、#include等预处理指令都是由预处理指令是由预处理器来处理的。 预处理...

网友评论

      本文标题:预处理指令与typedef

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