易百教程

创建全局结构变量

创建全局结构变量,参考以下示例代码:

#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语句将结构传递回调用函数。