c - (C) 模拟 main 中代码块的函数

标签 c

我试图令人满意地解释这一点,但是当我调用一个函数时,我希望它实际上将自己插入到我调用它的地方的主函数代码中,这样我就可以节省多次输入它,但是它直接影响主函数范围内定义的变量。实现这一目标的最佳方法是什么?

编辑:我可能应该明确表示我也希望它接受一个参数。

最佳答案

听起来您需要一个预处理器宏。这些不是真正的函数,而是预处理器在编译代码之前替换的代码块。例如,考虑一个简单的宏来增加数字:

#include <stdio.h>

#define INC(x) (x)++

int main() {
    int a = 1;
    INC(a);
    INC(a);
    printf("%d\n", a);
    return 0;
}

文本 INC(a) 将替换为 a++,因此运行此程序将打印出 3(两次增量后为 1)。

关于c - (C) 模拟 main 中代码块的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39883161/

相关文章:

c - 使用指针获取数组的长度

c - c中父子共享内存

c++ - C++ 所需的具有 C 链接的回调函数

c - 当我运行这个时,编译器说 :the assignment makes integer from a pointer without a cast

c - 当按值传递静态变量时会导致 c 中的竞争条件

c - 如何根据 C 中的多个定界符分隔字符串?

c - Lex(词法分析器)中正则表达式的大问题

c - 取消引用空指针

c - 指向结构指针的指针

c - 为什么模数操作数不适用于我的 C 代码中的输入变量?