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

news/2024/11/20 14:19:49/

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.ppmy.cn/news/5485.html

相关文章

Oracle --- 基础

目录 启动Oracle Oracle监听 监听服务的主要文件 listener.ora tnsnames.ora sqlnet.ora Oracle用户 创建用户 启动Oracle 四步 su - oracle # 切换用户,进入oracle的用户,读取oracle的配置文件lsnrctl start # 启…

用3Dmax优化模型的方法,让你的效果图又快又好

3DMax是一个特别强大的建模软件,它具有无数需要小伙伴付出时间和练习才能掌握的特性和功能。 如果你已经能足够直观的掌握基础知识,并且已经能创造出很优秀的作品。这必然是一件值得高兴的事。 但是,在设计过程的妙处就在于,总是…

Allegro如何翻转PCB视图操作指导

Allegro如何翻转PCB视图操作指导 Allegro可以翻转PCB的视图,利于查看和检查,如下图 翻转前:器件和走线在bottom层 翻转后:走线和器件仍然在bottom层,但是视图翻转了 具体操作如下

搜遍全网,终于找到了报表自动化的最佳工具,比Excel好用10倍

工作快十年了,最开始是在华为做报表,后来去了美团从事大数据和平台方面的工作,现在在国企干了快三年。辗转各大企业的IT部门,最明显的感知就是企业间数字化程度差距太大了。就从报表这个点来说,互联网公司早就实现了报…

区块链北大肖老师学习笔记4

第五节 比特币系统的实现 区块链是去中心化的账本,比特币使用的是基于交易的这种账本模式(transaction[交易]-based ledger[账本])。系统当中并不会显示每个账户有多少钱。 比特币系统的全节点要维护一个叫UTXO(unspent transaction output)(还没有被花出去的交易的…

硅片检测半导体运动台控制器的设计(二)

虽然我国目前对于精密硅片检测运动平台的整机研发还比较空白,但是值得注意的是,对于 X、Y 两自由度运动平台,甚至多自由度运动平台、先进驱动方式和控制策略的研究已经积累了一定的经验,吸收这些经验并应用于本运动平台的研发对选…

社媒营销策略如何拟定?匿名浏览器如何助力社媒账号矩阵运营?

海外社交媒体是现在很多公司进行营销推广的方式之一。与客户直接互动是社交媒体平台的一个重要优势。如果企业能够做好海外社交媒体营销,就可以获得更多的海外客户资源,为外贸网站吸引流量。社交媒体营销既不容易也不困难。 为品牌打造高度互动的社交营销…

详细讲解MySQL在Linux中的部署(Centos为例)

本篇文章详解Mysql在Linux中的部署,以便于能够在SQLyog中远程连接MySQL服务,具体步骤如下所示: 1.查找并卸载mariadb 由于Centos7中自带mariadb,而mariadb是MySQL的一个分支,因此,按照MySQL前必须卸载mar…