Java教程

【九月打卡】第18天 物联网/嵌入式工程师学习笔记18

本文主要是介绍【九月打卡】第18天 物联网/嵌入式工程师学习笔记18,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

【九月打卡】第18天 物联网/嵌入式工程师学习笔记18

课程信息

  • 课程名称:物联网/嵌入式工程师
  • 章节名称:第3周之第一讲 1-4 条件编译
  • 讲师姓名:大白老师

课程内容概述

1. 注释

功能: 判断宏名是否为真,为真编译C语言代码1,否则编译C语言代码2

格式:
#if  宏名

   C语言1;
#else 
        
C语言2;
#endif

2. 宏是否定义的判断

2.1 概述

//if no define
#ifndef 宏名 判断宏名是否没有定义
C语言语句
#endif
功能:若是没有定义,会执行对应的C语言语句,若是定义了则不回执行

2.2 代码示例

#include <stdio.h>
#define DEBUG 

int main(int argc, const char *argv[])
{
        int a[5] = {10,20,30,40,50};        
        int i = 0;
        int *p = a;
#ifndef DEBUG     //若是DEBUG没有定义,执行a[i],否则执行p[i]
        for(i = 0;i < 5;i++)
        {
                printf("a[%d] = %d\n",i,a[i]);        
        }
#else
        for(i = 0;i < 5;i++)
        {
                printf("p[%d] = %d\n",i,p[i]);        
        }
#endif
        return 0;
}

运行结果

p[0] = 10
p[1] = 20
p[2] = 30
p[3] = 40
p[4] = 50

学习心得

C语言中的条件编译,这个特性乍一看好像用处不大,类似于注释,但是实际工程中,有时候还是很有用的。

课程截图

1. 命令行输入参数的代码演示

图片描述

2. 宏判断的#的代码演示

图片描述

这篇关于【九月打卡】第18天 物联网/嵌入式工程师学习笔记18的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!