创建全局结构变量,参考以下示例代码:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 5
struct bot {
int xpos;
int ypos;
};
struct bot initialize(struct bot b);
int main()
{
struct bot Spider[SIZE];
int x;
srand((unsigned)time(NULL));
for (x = 0; x < SIZE; x++)
{
Spider[x] = initialize(Spider[x]);
printf("Robot %d: Coordinates: %d,%d\n",
x + 1, Spider[x].xpos, Spider[x].ypos);
}
system("pause");
return(0);
}
struct bot initialize(struct bot b)
{
int x, y;
x = rand();
y = rand();
x %= 20;
y %= 20;
b.xpos = x;
b.ypos = y;
return(b);
}
执行上面示例代码,得到以下结果:
Robot 1: Coordinates: 19,5
Robot 2: Coordinates: 6,3
Robot 3: Coordinates: 9,8
Robot 4: Coordinates: 14,19
Robot 5: Coordinates: 9,1
要将结构传递给函数,必须全局声明结构。必须将结构变量完全定义为参数。return
语句将结构传递回调用函数。