我正在尝试制作“ Langton的蚂蚁程序”。我定义了一个结构:
typedef struct Ant
{
int x;
int y;
int b;
}Ant;
我有一个功能:
int st(Ant *ant, int len, char (*area)[len]);
但是当我尝试使用以下方法在主函数中调用此函数时
int main()
{
[..... ]
char r[l][l];
Ant ant;
ant.x = 0;
ant.y = 0;
ant.b = 2;
st(Ant *ant, l, r);
return 0;
}
我收到一个错误:“ Ant”之前的预期表达。
我看不出问题出在哪里。有人知道出什么事了吗?我对编码非常陌生。
谢谢
您的函数st
将指针Ant
作为第一个参数,因此您需要传递变量的地址ant
(就像*
您实际指示的内容一样ant
)。更改以下行:
st(Ant *ant, l, r);
至 :
st(&ant, l, r);
因为该函数的原型是:
int st(Ant *ant, int len, char (*area)[len]);
尽管您的原型不需要更改,但是您也可以看一下这个原型,以使您的代码更具自记录性:
int st(Ant *ant, int len, char area[len][len]);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句