#define 定义常量和宏

简介: 工作机理:直接替换,以下列代码为例编译器直接将用到max的地方替换为100

一、#define 定义常量


工作机理:直接替换,以下列代码为例编译器直接将用到max的地方替换为100

#define max 100
int main()
{
    int arr[max] = { 0 };
    int a = max;
    return 0;
}

二、#define 定义宏


工作机理:直接替换,以下列代码为例,编译器直接将用到Add (x,y) 的地方替换为 x + y;将用到 print(x)的地方替换为 printf("%d\n",x) ,相比于函数执行速度更快


注意:定义宏没有实参有形参的说法,参数也没有类型

#define Add(x,y)(x+y)
#define print(x)(printf("%d\n",x))
int main()
{
    int a = Add(3, 5);
    printf("%d\n", a);
    print(a);
    return 0;
}


目录
相关文章
|
程序员 C语言 C++
35.【C/C++ 枚举(bool)类型和宏定义 (超详细)】(二)
35.【C/C++ 枚举(bool)类型和宏定义 (超详细)】
139 0
|
6月前
|
编译器 C语言
C语言宏定义(#define定义常量​、#define定义宏​、 带有副作用的宏参数、 宏替换的规则、 宏函数的对比)
C语言宏定义(#define定义常量​、#define定义宏​、 带有副作用的宏参数、 宏替换的规则、 宏函数的对比)
|
5月前
|
安全 数据库连接 C++
C++一分钟之-C++中的常量与宏定义
【6月更文挑战第18天】**C++编程中,常量(`const`和`constexpr`)确保值不变,用于配置、计算和逻辑控制。宏定义是预处理阶段的文本替换,适用于条件编译和简化代码。注意`const`的正确使用,避免过度的`const_cast`。宏可能导致命名冲突、副作用和类型安全问题,应谨慎使用。优选类型安全的常量定义,以提升代码质量和可维护性。**
73 5
|
6月前
|
编译器
关键字static#define 定义常量和宏
关键字static#define 定义常量和宏
40 0
|
6月前
|
存储 C++
c/c++宏定义(函数)
c/c++宏定义(函数)
|
6月前
#define定义常量和宏
#define定义常量和宏
41 0
|
6月前
|
编译器 C语言 C++
define与const关键字的多种用法
define与const关键字的多种用法
72 0
#define定义标识符以及定义宏
#define定义标识符以及定义宏
66 0
|
Java 编译器 C语言
学C的第四天(各种操作符补充;简单了解多种关键字,define定义常量和宏,结构体)(2)
[被static修饰的变量(静态变量)和全局变量的区别:都存放在静态区中,但静态变量的作用域还是在局部,全局变量的作用域是任意地方,两者生命周期相同,都是程序结束才销毁] 2.修饰全局变量 - 称为静态全局变量 (未使用static时:)
|
C语言
学C的第四天(各种操作符补充;简单了解多种关键字,define定义常量和宏,结构体)(1)
10.6:关系操作符: >:大于 >=:大于等于 <:小于 <=:小于等于 !=:用于测试“不相等” ==:用于测试“相等”