繁体   English   中英

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

[英](C) Function which impersonates a block of code in main

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

编辑:我可能应该说清楚我也希望它接受一个论点。

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

#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)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM