拼音宏怎么写

1. 中文转拼音宏定义函数怎么写

在软件开发过程中,经常有一些常用或者通用的功能或者代码段,这些功能既可以写成函数,也可以封装成为宏定义。那么究竟是用函数好,还是宏定义好?这就要求我们对二者进行合理的取舍。

我们来看一个例子,比较两个数或者表达式大小,首先我们把它写成宏定义:

#define MAX( a, b) ( (a) >(b) (a) : (b) )

其次,把它用函数来实现:

int max( int a, int b)

{

return (a >b a : b)

}

很显然,我们不会选择用函数来完成这个任务,原因有两个:首先,函数调用会带来额外的开销,它需要开辟一片栈空间,记录返回地址,将形参压栈,从函数返回还要释放堆栈。这种开销不仅会降低代码效率,而且代码量也会大大增加,而使用宏定义则在代码规模和速度方面都比函数更胜一筹;其次,函数的参数必须被声明为一种特定的类型,所以它只能在类型合适的表达式上使用,我们如果要比较两个浮点型的大小,就不得不再写一个专门针对浮点型的比较函数。反之,上面的那个宏定义可以用于整形、长整形、单浮点型、双浮点型以及其他任何可以用“>”操作符比较值大小的类型,也就是说,宏是与类型无关的。

和使用函数相比,使用宏的不利之处在于每次使用宏时,一份宏定义代码的拷贝都会插入到程序中。除非宏非常短,否则使用宏会大幅度增加程序的长度。

还有一些任务根本无法用函数实现,但是用宏定义却很好实现。比如参数类型没法作为参数传递给函数,但是可以把参数类型传递给带参的宏。

看下面的例子:

#define MALLOC(n, type) \

( (type *) malloc((n)* sizeof(type)))

利用这个宏,我们就可以为任何类型分配一段我们指定的空间大小,并返回指向这段空间的指针。我们可以观察一下这个宏确切的工作过程:

int *ptr;

ptr = MALLOC ( 5, int );

将这宏展开以后的结果:

ptr = (int *) malloc ( (5) * sizeof(int) );

这个例子是宏定义的经典应用之一,完成了函数不能完成的功能,但是宏定义也不能滥用,通常,如果相同的代码需要出现在程序的几个地方,更好的方法是把它实现为一个函数。

下面总结和宏和函数的不同之处,以供大家写代码时使用,这段总结摘自《C和指针》一书。

example:

define的单行定义

#define maxi(a,b) (a>;b?a:b)

define的多行定义

define可以替代多行的代码,例如MFC中的宏定义(非常的经典,虽然让人看了恶心)

#define MACRO(arg1, arg2) do { \

\

stmt1; \

stmt2; \

\

} while(0)

关键是要在每一个换行的时候加上一个 "\ "

//宏定义写出swap(x,y)交换函数

#define swap(x, y)\

x = x + y;\

y = x - y;\

x = x - y;

zigbee里多行define有如下例子

#define FillAndSendTxOptions( TRANSSEQ, ADDR, ID, LEN, TxO ) { \

afStatus_t stat; \

ZDP_TxOptions = (TxO); \

stat = fillAndSend( (TRANSSEQ), (ADDR), (ID), (LEN) ); \

ZDP_TxOptions = AF_TX_OPTIONS_NONE; \

return stat; \

}

转载请注明出处育才学习网 » 拼音宏怎么写

知识

湘老字怎么写

阅读(202)

本文主要为您介绍湘老字怎么写,内容包括湘字繁体字怎么写,湘字的繁体字怎么写,古代的湘字怎么写。2、草木之葩也-康熙字典。【申集上】【艹字部】 康熙笔划:10 部外笔划:4 〔古文〕蘤【唐韵】【集韵】【正韵】??呼瓜切,音哗。【正字

知识

怎么写小病毒

阅读(151)

本文主要为您介绍怎么写小病毒,内容包括怎么做一个简单的小病毒,怎么编写整人的小病毒,怎么样编写一个简易的小病毒。AUTO病毒简介:这种病毒在每个驱动器(硬盘、MP3/MP4……)下都有一个卷标AutoRun.inf文件,只要你双击驱动器(如D:),

知识

车文要怎么写

阅读(144)

本文主要为您介绍车文要怎么写,内容包括车文用韩语怎么写,椅子怎么写啊,怎么写让座作250字三年级上册作文。椅子的名称始见于唐代,而椅子的形象则要上溯到汉魏时传入北方的胡床。敦煌285窟壁画就有两人分坐在椅子上的图像;257窟壁画中有坐方

知识

怎么写羟基

阅读(207)

本文主要为您介绍怎么写羟基,内容包括酚羟基怎么写,请问羟基的电子式怎样写,羟基怎么写。羟基,又称氢氧基。是由一个氧原子和一个氢原子相连组成的一价原子团,结构式为HO。氧带8个电子氢原子带1个电子共有9个电子(切忌这里说的是

知识

稿捡怎么写

阅读(171)

本文主要为您介绍稿捡怎么写,内容包括宣传稿怎么写,消息稿怎么写,征文稿怎么写。原发布者:胡伟钊1987团结协作共建美好家园在日前竞争日趋激烈大浪淘沙的现代社会,一个企业若是想快速稳定健康的发展,除了创新能力外,团队

知识

歌的怎么写

阅读(155)

本文主要为您介绍歌的怎么写,内容包括怎样写歌曲,每天一首歌作文怎么写我没写事,就写了早上起床,中午吃饭,晚上,歌是怎样写的。1.首先,大部分的歌都是先拿到词再写曲的,所以至关重要的就是要先研究歌词的意境。 2.研究好歌词后,不要忙着去拼和

知识

国福怎么写

阅读(121)

本文主要为您介绍国福怎么写,内容包括五笔“国福”怎么打要连在一起请教,谁告诉我“富”字怎么写才好看,他叫国福,怎样取个好听网名。圣旨,是指中国封建社会时皇帝下的命令或发表的言论。今常用于比喻,假传圣旨。圣旨是中国古代帝王权力的展

知识

老写亏怎么写

阅读(161)

本文主要为您介绍老写亏怎么写,内容包括老写亏怎样写,“亏”的繁体字怎么写,亏的繁体字怎么写。

知识

日语商怎么写

阅读(180)

本文主要为您介绍日语商怎么写,内容包括日语会社いっぱいあるがんね中的がん是什么意思,日语函电的具体内容,日文的"株式会社"是什么意思。你所写的不符合日文的商务文书习惯。 新规取引のお愿い 拝启 时下ますますご隆盛のこととお喜びを申

知识

韩文怎么学写

阅读(134)

本文主要为您介绍韩文怎么学写,内容包括如何学习韩语,学习韩语最好的方法是,韩语怎么学写那些字。学习任何一门语言都要付出一番努力,所谓的捷径也无非是过来人的经验,让初学者少走点弯路,少浪费点时间,和金钱.不会像无头苍蝇一样乱撞,一点

知识

az头怎么写

阅读(150)

本文主要为您介绍az头怎么写,内容包括头的田字格怎么写,头在田字格怎么写,头的笔顺头的笔画头字怎么写。头的田字格书写格式如下:

知识

欧楷四怎么写

阅读(139)

本文主要为您介绍欧楷四怎么写,内容包括四的书写格式田字格,哪位知道,欧楷法字怎么写,行楷字体中"四"字怎么写。四在田字格的写法是:

知识

飞长怎么写

阅读(182)

本文主要为您介绍飞长怎么写,内容包括()长()飞成语怎么写,关于飞的作文应该怎么写,草长[]飞怎么填。假如我能飞 假如我能飞,我要飞到天空去与小鸟作伴。和他们一起展翅翱翔在蔚蓝的天空,自由自在的尽情飞翔。想飞到天边去看看什么样子,飞到传说

知识

单词5怎么写

阅读(167)

本文主要为您介绍单词5怎么写,内容包括英语5怎么写,英语1+1、4个单词5+1怎么写,5英文怎么写。5的英文单词是five。词汇分析音标:英 [faɪv] 美 [faɪv] 释义:n. 五,五个;五美元钞票num. 五,五个adj. 五

知识

而的拼音怎么写的

阅读(195)

本文主要为您介绍而的拼音怎么写的,内容包括而的拼音怎么写,按查字典的要求填空1.只知道读音,而不会写的字用查字法;会写,而的拼音字母怎么写。先记熟汉语拼音声母和韵母的读音,然后再将字母组合起来拼读要注意标声调。24个韵母:单韵母6个:a、o

知识

乳怎么拼音怎么写

阅读(156)

本文主要为您介绍乳怎么拼音怎么写,内容包括乳的拼音怎么写是多音字吗,乳的拼音怎么写是多音字吗,乳的拼音怎么拼写。第三单元字词. 要求学会的生字(会读、会写、理解意思)勒 躁 脾 燥 微 哑 挠 锡 惠 倾 愤 饶 坛 享 码 遣 器 拳 赠 撕 范

知识

舍拼音怎么写的

阅读(224)

本文主要为您介绍舍拼音怎么写的,内容包括舍奔的舍拼音怎么写,舍不得的拼音怎么写,舍怎么拼音。一:细致地(DI四声 检查 )细致地(观看 )细致地(批改 )注:写三个 二:《送元二使安西》古诗中“舍”的读音是(SHE四声 )意思是

知识

梯的拼音怎么写

阅读(258)

本文主要为您介绍梯的拼音怎么写,内容包括转梯拼音怎么写,转梯拼音怎么写,上楼梯的时候拼音怎么写。梯的笔顺:横、竖、撇、点、点、撇、横折、横、竖折折钩、竖、撇。 基本信息: 拼音:tī 部首:木,百四角码:48927,仓颉:dcnh

知识

箭的拼音怎么写的

阅读(323)

本文主要为您介绍箭的拼音怎么写的,内容包括麻醉箭拼音怎么写,断箭的拼音是怎么写,麻醉箭拼音怎么写。断箭的拼音是duàn jiàn。汉字:断拼音:duàn 解释:1. 长形的东西从中间分开:~裂。~层。~面。截~。~肠。~魂。~线风筝。

知识

拼音o怎么写笔顺

阅读(503)

本文主要为您介绍拼音o怎么写笔顺,内容包括o的笔顺怎么写,拼音o的笔顺怎么写图解,韵母o怎么写笔画。O的笔顺如下:O是由一笔写成的,注意起笔的地点和走向。在希腊语Ο (Omicron)、伊特鲁里亚语和拉丁语中,O表示元音/o/。虽然闪族

知识

河豚拼音怎么写

阅读(234)

本文主要为您介绍河豚拼音怎么写,内容包括豚的拼音怎么写,豚字用拼音怎么写,蒌蒿这两个字怎么读、拼音怎么写。1. 河豚毒素对小鼠和家兔的毒性研究2. 对虾池中混养河豚效果好3. 河豚鱼的安全食用研究4. 售卖河豚供食用的问题5. 五彩缤纷的

知识

照拼音怎么写

阅读(206)

本文主要为您介绍照拼音怎么写,内容包括照的拼音怎么写的给我看,拼音格式怎么写,陋照的拼音怎么写的。[ 照 ] zhào光线射在物体上:日照。照耀。照射。对着镜子或其他反光的东西看自己或其他人物的影像:照镜子。摄影:照相。拍照。画像或相

[/e:loop]