gpt4 book ai didi

c - C中的符号常量和宏有什么区别?

转载 作者:行者123 更新时间:2023-12-02 07:51:11 26 4
gpt4 key购买 nike

我只能找出相同点,不能找出不同点....

最佳答案

宏接受参数并(通常)生成实际代码,#defined:d 常量只是一个值:

例如:

#define MAX_NAME_LENGTH 32

对比

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

当然,尽可能使用实际的语言级常量通常会更好:

enum {
MAX_NAME_LENGTH = 32
}

const size_t MAX_NAME_LENGTH = 32;

这些提供了更好的可测试性,通常可以更好地与调试器一起工作(因为它们是适当的第一级符号),并且不依赖于文本替换技术。

关于c - C中的符号常量和宏有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3698302/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com