特点:

define是宏定义,程序在预处理阶段将用define定义的内容进行了 替换 。因此在程序运行时,常量表中并没有用define定义的常量,系统不为它分配内存。同时,define定义的常量,预处理时只是直接进行了替换,因此在编译时不能进行数据类型检验

1.文本替换

#define N 100//将N赋值为100

例:

#define N 7
#define M N+6
#define x M/2+1
/*
错误运算 M=7+6=13 X=13/2+1=7
正确运算 X=7+6/2+1=11
*/

注意:宏展开是在预处理阶段完成的,这个阶段把替换文本只是看作一个字符串,并不会有任何的计算发生,在展开时是在宏M出现的地方 只是简单地使用串7+6来代替M,并不会增添任何的符号

2.用define定义数组

#include <iostream>//一维数组
using namespace std;#define N 2
int main(){int a[N]={1,2};
}
#include <iostream>
using namespace std;
#define N 2
#define M 3
int main() {
int a[N][M]={{2,1,0},{3,4,1}};

宏其实就是一个简单的文本替换

例:

//打印出数组中所有元素的和
#include <iostream>
using namespace std;
#define N 2
#define M 3
int main() {int a[N][M]={{2,1,0},{3,4,1}};int i,j,s;s=0;for(i=0;i<N;i++){for(j=0;j<M;j++){s=s+a[i][j];}}cout<<s<<endl;return 0;

运算结果:11

文章为做笔记用,侵删

C++语言的define用法相关推荐

  1. C语言之#define用法入门详解

    一.#define的基本语法 在C语言中,常量是使用频率很高的一个量.常量是指在程序运行过程中,其值不能被改变的量.常量常使用#define来定义. 使用#define定义的常量也称为符号常量,可以提 ...

  2. fclose在c语言中的作用,c语言fcloseall函数用法实例介绍

    c语言fcloseall函数用法实例介绍.fcloseall函数的返回值,函数 fcloseall() 将所有打开的流与其底层的文件或功能集合关闭.任何缓冲的数据都将首先被写入,使用 fflush(3 ...

  3. define在c语言中的作用域,define是什么意思,【C语言】“define”是什么意思

    导航:网站首页 > define是什么意思,[C语言]"define"是什么意思 define是什么意思-,[C语言]"define"是什么意思?代表什么 ...

  4. c语言链表head的作用,c语言链表的用法

    c语言链表的用法 链表是数据结构中比较基础也是比较重要的类型之一,那么有了数组,为什么我们还需要链表呢!或者说设计链表这种数据结构的初衷在哪里?下面小编就为大家介绍下c语言链表的用法. c语言枚举的用 ...

  5. c语言字符串strchr,C语言 strchr 函数用法

    C语言 strchr 函数用法 C语言中strchr函数作用是为在一个串中查找给定字符的第一个匹配之处,该函的原型为"char *strchr(const char *str, int c) ...

  6. [define的用法]define用法集锦

    篇一 : define用法集锦 Definition: The #define Directive You can use the #define directive to give a meanin ...

  7. c语言 pragma指令,C语言#pragma指令用法

    引导语:在所有的预处理指令中,#Pragma指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作.以下是百分网小编分享给大家的C语言#pragma指令用法,欢迎阅读! # ...

  8. c++中define用法

    c++中define用法 define在c++语言中用法比较多,这里对其进行整理. 1.无参宏定义 无参宏的宏名后不带参数. 其定义的一般形式为: #define  标识符  字符串 1 其中的&qu ...

  9. #define 用法

    #define用法 收藏 1.简单的define定义 #define MAXTIME 1000 一个简单的MAXTIME就定义好了,它代表1000,如果在程序里面写 if(i<MAXTIME){ ...

最新文章

  1. VS2010属性表的建立与灵活运用
  2. 白话Elasticsearch18-深度探秘搜索技术之基于slop参数实现近似匹配以及原理剖析
  3. python 使用 sorted 对 列表嵌套元组的数据进行排序
  4. python一行代码打印Love心形
  5. Team Foundation Server 2010 安装、部署与配置(一):安装计划 .
  6. 关于cell中添加子视图 复用重叠问题的解决方法
  7. Process Node.js 进程
  8. 极大强连通分量的Tarjan算法
  9. java future 设计模式_转多线程设计模式 - Future模式之JAVA原生实现
  10. Latex数学公式表
  11. 接口,继承的意义和使用方法
  12. 主语从句、宾语从句、表语从句、同位语从句
  13. 王道计算机组成原理课代表 - 考研计算机 第四章 指令系统 究极精华总结笔记
  14. poj1985和poj1849(树的直径)
  15. python PIL增强或降低图像对比度
  16. 2021.8.21NOIP模拟赛总结
  17. winform直接控制云台_一路随拍,智云SmoothX手机云台试玩,哪怕小白也能轻松上手...
  18. R pdf大小_数据可视化 - 热图·R
  19. c++11新特性--decltype
  20. 星驰云算GOSTAR,携手Swarm共建Web 3.0时代

热门文章

  1. Java程序员在用的大数据工具,MongoDB稳居第一
  2. 【数据层解决方案】NOSQL:Redis,MongoDB,ES
  3. TensorFlow的历史版本与对应Python版本
  4. 翔仪 垂直起降固定翼 操作流程
  5. 摄像头sensor的数据输出格式。
  6. img标签图片加载失败时兜底图的设置
  7. 面试题(四)你工作中常用的jvm参数有哪些?
  8. 亚洲21世纪最热门的职业
  9. 前端需要的免费在线api接口
  10. 我写了一套SpringBoot+SpringSecurity+Vue权限系统 实战课程,免费分享给CSDN的朋友们