defineddefined()这个函数是有什么用?

defined  时间:2021-08-25  阅读:()

C语言中#defined PR 50是什么意思

因为程序中可能要定义很多常量( 不管是放在源文件还是头文件 ),那么我们再次定义时就必须返回检查原来此常量是否定义。

这就用到了:宏定义 defined。

示例:

//

#if defined PR

#undef PR #defined PR 50

#endif 上述语句检验PR 是否被定义,如果被定义,则用#undef语句解除定义,并重新定义PR为50

#if,#endif,!defined的意义和用法

1. 它的意思是,如果在程序中没有对**进行过#defined ** 的定义。

则编译下面的语句,否则不编译。

这中情况多用在需要经常移植的程序模块上,或是调试的时候用,比如说上面{...}中的语句是调试时用的,但调试完成后不用它了,那么就可以用这个了。

也许你会说,删了不就是了吗?可是如果{...}里面有很多语句的时候,还有你希望再次阅读程序时还看到这些信息。

2. #if defined(symbol) 属于宏定义的一部分 3. #if defined(symbol) //如果symbol没有被定义。

#ifdef symbol //则定义symbol 4. 等价于:#if !defined(symbol)。

#ifndef symbol //不定义symbol

c语言的宏定义 if defined

没有说得那么繁琐. 因为对于一个大程序而言,我们可能要定义很多常量( 不管是放在源文件还是头文件 ),那么我们有时考虑定义某个常量时,我们就必须返回检查原来此常量是否定义,但这样做很麻烦.if defined宏正是为这种情况提供了解决方案.举个例子,如下: #define .... #define .... ........ ........ #define a 100 ....... 此时,我们要检查a是否定义(假设我们已经记不着这点了),或者我们要给a一个不同的值,就加入如下句子 #if defined a #undef a #define a 200 #endif 上述语句检验a是否被定义,如果被定义,则用#undef语句解除定义,并重新定义a为200 同样,检验a是否定义: #ifndef a //如果a没有被定义 #define a 100 #endif 以上所用的宏中:#undef为解除定义,#ifndef是if not defined的缩写,即如果没有定义。

这就是#if defined 的唯一作用!

defined()这个函数是有什么用?

是一种宏的应用,在编译过程根据#if defined xxx...#else...选择是否编译此处内容,用法与if...else...相似。

解释如下: #if defined xxx { //如果对xxx进行了宏定义,则编译此处内容。

} #else { //如果没有对xxx进行宏定义,则编译此处内容。

//与if...else...用法相同,else部分可以省略。

}

炭云188元/年,上海CN2 VPS/2核/384MB内存/8GB空间/800GB流量/77Mbps端口/共享IP

炭云怎么样?炭云(之前的碳云),国人商家,正规公司(哈尔滨桓林信息技术有限公司),主机之家测评介绍过多次。现在上海CN2共享IP的VPS有一款特价,上海cn2 vps,2核/384MB内存/8GB空间/800GB流量/77Mbps端口/共享IP/Hyper-v,188元/年,特别适合电信网络。有需要的可以关注一下。点击进入:炭云官方网站地址炭云vps套餐:套餐cpu内存硬盘流量/带宽ip价格购买上...

GigsGigsCloud($26/年)KVM-1GB/15G SSD/2TB/洛杉矶机房

GigsGigsCloud新上了洛杉矶机房国际版线路VPS,基于KVM架构,采用SSD硬盘,年付最低26美元起。这是一家成立于2015年的马来西亚主机商,提供VPS主机和独立服务器租用,数据中心包括美国洛杉矶、中国香港、新加坡、马来西亚和日本等。商家VPS主机基于KVM架构,所选均为国内直连或者优化线路,比如洛杉矶机房有CN2 GIA、AS9929或者高防线路等。下面列出这款年付VPS主机配置信息...

数脉科技:香港服务器低至350元/月;阿里云CN2+BGP线路,带宽10M30M50M100M

数脉科技(shuhost)8月促销:香港独立服务器,自营BGP、CN2+BGP、阿里云线路,新客立减400港币/月,老用户按照优惠码减免!香港服务器带宽可选10Mbps、30Mbps、50Mbps、100Mbps带宽,支持中文本Windows、Linux等系统。数脉香港特价阿里云10MbpsCN2,e3-1230v2,16G内存,1T HDD 或 240G SSD,10Mbps带宽,IPv41个,...

defined为你推荐
receivedhasbeenreceived和hasreceived这两个句型到底有什么差别网不易怎样解决网瘾问题查杀木马怎样手动查杀木马2g内存条电脑里面的2G内存是做什么用的零终端什么是圈存机封包是什么这个七月半封包怎么填青岛it社区青岛李沧区有哪些社区呼叫中心系统方案哪些呼叫中心厂商在呼叫中心系统方案建设方面好?access数据库入门怎样学好数据库应用基础accesswps表格数据恢复Wps表格怎么恢复数据
华众虚拟主机管理系统 广州主机租用 金万维动态域名 ipage hawkhost vmsnap3 seovip 免费网络电视 panel1 谁的qq空间最好看 双线主机 腾讯实名认证中心 drupal安装 闪讯官网 丽萨 云营销系统 群英网络 测速电信 supercache 免费个人网页 更多