我是C的新手,我正在尝试做以下事情:
我有一个功能move(int x, int y)
我希望能够说move(CENTER)
我想说“#define CENTER x/2, y/2
”
这样做的正确方法是什么?
答案 0 :(得分:0)
move(CENTER)
您希望能够在名为move
的变量上调用center
吗?您可以使用结构:
struct point {
int x;
int y;
}
...
void move(struct point p) {
// read from p.x and p.y
}
...
struct point center;
center.x = 20;
center.y = 20;
move(center);
我不确定你对#define CENTER x/2, y/2
部分的意图是什么......你的意思是#define CENTER WIDTH/2, HEIGHT/2
吗?您可以center.x = WIDTH / 2
和center.y = HEIGHT / 2
。
修改:如果您无法重新定义move
,可以尝试使用
void my_move(struct point p) {
move(p.x, p.y);
}