c - 用宏函数替换 C 中的函数

标签 c function c-preprocessor

我有一个函数 isEmpty(),我想用这个 Empty() 替换它。

int isEmpty(char *s)
{   return s[0]=='\0';
}

我应该这样替换它吗?

#define isEmpty() Empty()

最佳答案

假设您有一个已定义的函数 isEmpty,您需要向其传递一个参数:

#define Empty(s) isEmpty(s)

但是您可能想在没有任何功能的情况下实现它:

#define Empty(s) ((s)[0]=='\0')

关于c - 用宏函数替换 C 中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29310018/

相关文章:

c - 从文件 C 动态分配结构体数组

javascript - 如何将长值传递给javascript函数

C宏给出编译时错误

c++ - #error 指令是否跨平台和跨编译器

c - 将 0 附加到不完整的宏参数列表

c - 错误: unknown type name and warning: implicit declaration of function

c - 6*6 阵列中可能的最大沙漏总和

c - 读取简单 CSV 文件时出现段错误 - C

python - 如何使用Python中的函数连续扩展列表?

php - PHP 中函数 undefined variable