python - 一种在 C 中模拟命名参数的方法

标签 python c

有没有办法在 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/

相关文章:

python - 如何允许用户选择文件?

python - 如何在 Lambda 中处理来自 API 网关的二进制数据,反之亦然?

c - 为什么下面的 for 循环不能正常工作?

c - Linux C 进程 pid 全局可见性

C二进制文件读取: How many bytes should I move?

c - 尝试打印堆栈的元素时堆栈实现崩溃

python - 创建并附加到 SQLAlchemy 数据库表中的列表

python - 使用 BeautifulSoup4 和 Python 3.3 解析错误

python - 为什么 map 在 Python 3 中返回一个 map 对象而不是一个列表?

c - 我如何在Windows中执行make file