簡體   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