有没有办法在 C 函数中使用命名参数?
类似函数的原型(prototype) void foo(int a, int b, int c);
我想用 foo(a=2, c=3, b=1);
调用它 [替换了 b & c
的顺序并使用了它们区分名称]
动机:我想要一个更 Pythonic C,在那里我可以轻松地操作我的函数参数而不会错误地混合它们
最佳答案
有点,有点,带有复合文字和指定的初始值设定项:
typedef struct foo_args {
int a;
int b;
int c;
} foo_args;
// Later
foo(&(foo_args) {
.a = 2,
.c = 3,
.b = 1
});
但老实说,我不会打扰。它要求您改变函数定义以接受指针,并使调用变得很麻烦。
关于python - 一种在 C 中模拟命名参数的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48264698/