宏 undef

宏 undefundef undef 是在后面取消以前定义的宏定义 该指令的形式为 undef 标识符 其中 标识符是一个宏名称 如果标识符当前没有被定义成一个宏名称 那么就会忽略该指令 一旦定义预处理器标识符 它将保持已定义状态且在作用域内 直到程序结束或者使用 undef 指令取消定义 在此程序中 我们将取消在先前程序中对预处理器的定义 include

#undef

  #undef 是在后面取消以前定义的 宏定义   该指令的形式为   #undef 标识符   其中,标识符是一个宏名称。如果标识符当前没有被定义成一个宏名称,那么就会忽略该指令。   一旦定义预处理器标识符,它将保持已定义状态且在作用域内,直到程序结束或者使用#undef 指令取消定义。   在此程序中,我们将取消在先前程序中对预处理器的定义。   #include < iostream.h>   #include< string.h>    #define MAX 5   #undef MAX   void main()   {   char name[MAX]=”abcde”; //只能用abcd,否则会提示说超出长度,原因大概是”/0″字符   cout<<“MAX = “<<MAX<<endl;   for(int i=0;i<MAX;i++)   cout<<name<<” “<<endl;   }   得到如下错误消息   未定义符号 ‘MAX’   初始值设定项太多   在此程序中对 MAX 定义后又取消了定义。编译该程序时报错。由于未定义 MAX,char name[MAX] 的 数组大小不可用,因此 编译器发出第二个错误消息。   又如   #define TEST_A 1   #define TEST_CLASS_A clase T1   #include “TEST.h”   #undef TEST_A   #undef TEST_CLASS_A   在这一个文件中使用宏定义:#undef TEST_A 1   #undef TEST_CLASS_A clase T1   出了#include “TEST.h” 这个文件宏定义释放掉   就是这个意思   也就是在文件#include “TEST.h” 中宏定义#define TEST_A 1   #define TEST_CLASS_A clase T1 起作用,过了这一语句宏定义就释放掉了,在test.h里,这个宏是有效的,然后出了这个头文件,又无效了。   ::   在TEST.h(或TEST.cpp)中1就是TEST_A,clase T1就是TEST_CLASS_A clase;只在TEST中有效。   程序示例:   修改已经宏定义的符号常量的值:   #include <stdio.h>   int main( void )   {   #define MAX 200   printf(“MAX= %d/n”,MAX);   #undef MAX   #define MAX 300   printf(“MAX= %d/n”,MAX);   return 0;   }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233577.html原文链接:https://javaforall.net

(0)
上一篇 2025年7月7日 下午8:01
下一篇 2025年7月7日 下午8:22


相关推荐

  • 图书馆借阅系统「建议收藏」

    图书馆借阅系统一、图书馆借阅系统是对书籍信息操作的信息管理系统。书籍信息包括书名、作者、编号、是否借出。本系统针对两类用户(图书管理员和学生)使用,对于图书馆管理员,可以进行查看书籍列表、查找书籍、新增书籍信息、删除书籍、退出登录操作;对于学生,可以进行查看书籍列表、查找书籍、借阅书籍、归还书籍、退出登录操作。二、代码部分1.book包的建立Book类的建立对于图书馆借阅系统,把书看作一个对象,根据该book所具有的属性,定义一系列书籍的私有属性,以及对这些属性进行操作的访问器(get())和设置器

    2022年4月12日
    50
  • ArrayList 扩容详解,扩容原理[通俗易懂]

    ArrayList 扩容详解,扩容原理[通俗易懂]ArrayList扩容详解,扩容原理ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长。ArrayList不是线程安全的,只能用在单线程环境下。实现了Serializable接口,因此它支持序列化,能够通过序列化传输;实现了RandomAccess接口,支持快速随机访问,实际上就是通过下标序号进行快速访问;实现了Cloneable接口,能被克隆。动态扩容一初始化…

    2022年6月12日
    38
  • iphone android换机助手下载,换机助手IOS版下载 换机助手(微信文件手机搬家) for iphone v1.0.13 苹果手机版 下载-脚本之家…

    iphone android换机助手下载,换机助手IOS版下载 换机助手(微信文件手机搬家) for iphone v1.0.13 苹果手机版 下载-脚本之家…换机助手IOS版是一款适用于苹果手机端的微信文件手机搬家软件,能够有效的对微信文件进行管理,可以在两台手机之间建立连接文件传输,感兴趣的朋友快来下载使用吧。软件功能能够在平台上通过扫描功能,快速的将两台手机进行连接;在平台上可以进行文件的传输,快速将文件传输到另外一台手机上;系统会将平台上的微信文件快速的进行识别,显示在平台上;平台上的文件信息都会根据类型的不同进行有效的分类;线上就能进行文件等信…

    2022年5月16日
    35
  • pycharm怎么配置git_pycharm gitee

    pycharm怎么配置git_pycharm gitee步骤1:配置git配置用户名与邮箱,这里–global表示为全局设置。gitconfig–globaluser.name”yourname”gitconfig–globaluser.emailyouremail@qq.com打开Pycharm,进入settings-VersionControl-Git,路径为你的Git安装路径。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传步骤2:利用Token连接Pycharm与Github账号打开settin

    2022年8月27日
    9
  • 兴文石海旅游策划方案——石来运转天下览![通俗易懂]

    兴文石海旅游策划方案——石来运转天下览![通俗易懂]兴文石海旅游策划方案——石来运转天下览!熊大寻旅游策划公司/文熊大寻旅游策划公司为兴文石海天坑发现了震撼性奇观:石壁上一个天然的大大的“运”字,立即创意出“石来运转”的卖点,改变原来看一眼就走的局面,变成人人都要下到天坑里围着“运”字走一圈“转运”,这样一来三小时就花掉了,再到大运观音处烧柱香,三百元也花掉了!加上把天坑打造成”世界最大的天然聚宝盆”夜景工程,过夜经济就形成了!把原来看天坑抓眼…

    2022年5月20日
    49
  • 后台 管理 系统

    后台 管理 系统课程/视频管理系统:https://item.taobao.com/item.htm?spm=a2oq0.12575281.0.0.50111deb1nO3pa&ft=t&id=643539140484教务管理系统:https://item.taobao.com/item.htm?spm=a2oq0.12575281.0.0.50111deb1nO3pa&ft=t&id=643539140484成绩管理系统:https://item.taobao.com/item.h

    2022年4月25日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号