C语言重点解剖第17课笔记

news2024/11/20 22:39:02

1.预处理阶段,先去注释,再宏替换。所以宏替换不能用于去注释。

#define bsc //就变成了一个空的宏。(//在这里面本来就是注释,只是注释后面的内容为空)

2.宏定义并不是简单的无脑替换。

printf(" ")中,双引号里面的东西不能被宏替换。

3.#define INIT_VAL(a,b) a=0;b=0;

这样就用宏实现了赋值。需要注意的是,这个宏替换的是两条语句,如果在if语句中使用这个宏替换,记得加上大括号({})。但是不推荐这样使用。建议使用如下方式。

#define INIT_VAL(a,b) do{a=0;b=0;}while(0);

4.调用上述宏的时候。INIT_VAL ?(a,b)

?处可以带括号。但是不推荐。

5.在文件内,不管宏在哪里定义,都可以被使用。与是否在{}中无关。但是不能在宏定义的上方使用该宏。按照从上往下的顺序,宏定义的地方往后,就是宏的范围。

6.尽量使用函数,不要使用宏定义,不大好调试。

7.9a0d001b0c1b4a77bc23283469270563.jpg

 8.

d7e2bca421f44238b21769adb1f8bd0d.jpg

 9.

b6d55941940b40a28d8141878d66917c.png

10.

a4922909839f4c66b3ee6a58973940d6.jpg 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/106318.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

uniCloud云开发----3、uniApp中文件上传(通过插件(uniFilePicker)或者 uniCloud.uploadFile实现方案)

uniApp中文件上传前言效果图1、使用unifilePicker插件(1)安装unifilePicker插件(2)简单案例2、通过原生的 uniCloud.uploadFile来实现共同成长共同进步前言 uniapp图片上传插件unifilePicker 在开发uniapp的时候上传文件是必不可…

从月入5千到现在的月入1W+,会计转程序员,“谁说女的不适合学编程?”

前言 我毕业五年了,但与技术和 Python 相关的工作经验也就两年。今天我想跟大家分享自己转行的故事,希望能够鼓励那些跟我一样的朋友共同前行。 我们将会聊到我个人的经历和入行故事,讨论快速学习的方法,最后推荐一些学习资源。…

“互联网+”获奖项目专访 | 阿尔兹海默症患者辅助诊断研究分享

在本届“互联网”创新创业大赛中 昇思MindSpore群英荟萃团队荣获全国总决赛铜奖 本期有幸邀请到 团队负责人李鹏和指导老师胡悦进行采访 一起来看看夺奖背后的故事吧 PART ONE 团队介绍 群英荟萃团队 1. 项目成员 李鹏、周晨、邹静、纪雨萍、李晓迪、张英豪 2. 指导老…

Insight Enterprises EDI 850 采购订单报文详解

Insight Enterprises 是一家世界 500 强解决方案集成商,在全球拥有 11,500 多名员工,帮助企业加速数字化转型。Insight为管理其庞大的供应链建立了EDI(Electronic Data Interchange,中文名称是电子数据交换)系统&#…

Android 进阶——Framework 核心之Touch事件分发机制详细攻略(一)

文章大纲引言一、Android 事件分发概述二、Touch事件分发的对象MotionEvent三、分发事件的核心对象及方法1、分发事件的核心对象2、事件分发的核心方法四、Touch事件分发的流程1、Activity的事件处理流程2、ViewGroup&View的事件分发流程五、事件分发的应用1、事件拦截2、响…

刨根问底Kafka 40问,看看你能坚持到第几问

Kafka最初是由Linkedin公司开发的,是一个分布式的、可扩展的、容错的、支持分区的(Partition)、多副本的(replica)、基于Zookeeper框架的发布-订阅消息系统,Kafka适合离线和在线消息消费。它是分布式应用系…

【JavaSE】内部类

目录 前言: 内部类 什么是内部类? 内部类的分类 1、静态内部类 1、静态内部类,不能直接被实例化 2、 静态内部类当中,不能直接访问外部类的非静态成员,但是可以直接访问外部类的静态成员。 3、外部类可以访问静…

java -数据结构 - 集合框架及背后的数据结构

什么是集合框架 数据结构,我们知道数据结构就是组织数据的一种方式,比如所链表,就是将数据存储在链表的value域中,next域就是存储下一个节点的地址,通过这样的方式将数据组织起来。 在我们学习中,所知道 的…

接口幂等实现基于注解(适用于分布式系统中支持spEl动态过滤)

在网络卡顿时,容易出现在极短的时间内产生重复请求,或重复支付,一般我们会在数据操作时先通过数据查询是否存在,然后再进行业务逻辑操作的方式来进行避免,但是这种方式并不是原子性,很容易出现第一次请求未进行落表,第二次重复的请求就已经通过了数据库查询,可通过设置唯一索引…

用于开发语音 AI 应用程序的 GPU 加速 SDK

NVIDIA Riva 简介:用于开发语音 AI 应用程序的 GPU 加速 SDK 语音 AI 用于多种应用,包括联络中心的座席助理以增强人类座席的能力、智能虚拟助理 (IVA) 的语音界面以及视频会议中的实时字幕。 为了支持这些功能,语音 AI 技术包括自动语音识别…

基于springboot的社区团购管理系统的设计与实现

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问…

FineReport企业报表工具-JS根据条件显示参数控件

1. 概述 1.1 版本 报表服务器版本 功能变更 11.0 -- 1.2 问题描述 在使用参数控件时,有时我们希望部分参数控件在没满足条件时不显示,满足条件后再显示,如下图效果,只有前面的下拉框选择了内容之后,后一层下拉框控…

【C语言】重要函数qsort函数的用法

目录 一、qsort函数的介绍 1、整形数组 2、字符数组 3、字符串 4、结构体 二、qsort函数的使用 一、qsort函数的介绍 qsort函数是一种底层快速排序的函数,它的特点就是可以排序任意类型的数据,比如:整形、字符串、浮点型、以及结构体类型。 …

VUE3-组件之间传值《四》

目录 一.父传子,父组件向子组件传值 二.子传父,子组件向父组件传值 三.兄弟组件之间互传,2个组件之间是平级关系,互相传值 组件之间的传值,分为3种方式 一.父传子,父组件向子组件传值 1.建立一个默认的…

零信任深入理解--概念,架构和实现方案

1. 零信任究竟解决了什么问题? 很多人在初步了解“零信任”概念,乃至进一步研究一些技术和产品方案之后,会有种“不过如此”的感觉。 毕竟, IAM(Identity and Access Management,身份识别与访问管理&…

6. 【gRPC系列学习】Balance原理详解

本节开始分析Balance执行原理,通过上面流程可知,Balance Build的创建来自于Resolver的解析完成后调用updateResolverState方法,我们从updateResolverState方法开始分析Balance执行流程。 1. Balance调用流程 1)updateResolverState(s resolver.State, err error) error 方…

Java培训MySQL之全局序列

1.本地文件 不推荐,存在宕机序列丢失问题。 2.数据库方式 数据库序列方式原理 利用数据库一个表 来进行计数累加。但是并不是每次生成序列都读写数据库,这样效率太低。 mycat会预加载一部分号段到mycat的内存中,这样大部分读写序列都是在…

第二章:Linux的目录结构-[基础篇]

一:基础介绍 linux的文件系统是采用级层式的数状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录。 深刻理解linux树状文件目录是非常重要的,这里我给大家说明一下。 记住一句经典的话:在Li…

通信原理循环码

目录 码多项式 码多项式的按模运算 循环码的码多项式 循环码的生成矩阵 如何寻求任一循环码循环码的生成多项式​ 码多项式 一个长度为的码组可表示成如下多项式形式: 多项式的系数就是码组中的各码元,仅是码元位置标记 。 n7 时: 例&…

Activiti任务的处理以及进阶使用

1.什么是流程实例 流程实例(ProcessInstance)代表流程定义的执行实例 一个流程实例包括所有的运行节点Task,所以我们一般使用来了解当前流程的进度信息 taskService.createTaskQuery().processDefinitionKey(key)例如:用户或者程…