| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2039 人关注过本帖
标题:结构体数组struct是不是只能定义成全局变量?
只看楼主 加入收藏
FollowDream
Rank: 2
等 级:论坛游民
帖 子:33
专家分:14
注 册:2017-1-12
结帖率:33.33%
收藏
已结贴  问题点数:1 回复次数:3 
结构体数组struct是不是只能定义成全局变量?
现在有一个数组叫queue[],是由一群叫Maze的结构体组成的,需要把它作为一个参数传递给一个叫test_structsarray的函数:

程序代码:
void test_structsarray(Maze queue[], int head, int tail)
    {
    int x_following, y_following;
    x_following = queue[head].x + 1;
    y_following = queue[head].y * 2;
    return;
    }
int main()
    {
    struct Maze
        {
        int x;
        int y;
        };
    struct Maze queque[9];
    int head = 1, tail = 1;
    queque[tail].x = 0;
    queque[tail].y = 0;
    test_structsarray(queue, head, tail);
    return 0;
    }


我尝试了“test_structsarray(Maze queue[], int head, int tail)”“test_structsarray(struct Maze queue[], int head, int tail)”“test_structsarray(Maze* queue, int head, int tail)”,可是要么报错“queue was not declared in this scope”、要么报错“Maze was not declared in this scope”……

唯一一次运行没错的,是把整个struct Maze的定义放到main函数外面、作为全局变量的。但是这样无法在main里面对queque[tail].x和queque[tail].y赋值,一旦赋值又报错。

请问,我那段代码中,test_structsarray和main到底哪里写错了?

谢谢!
搜索更多相关主题的帖子: 结构体 
2017-01-13 18:40
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9026
专家分:54030
注 册:2011-1-18
收藏
得分:1 
struct Maze
        {
        int x;
        int y;
        };

void test_structsarray(Maze queue[], int head, int tail)
    {
    int x_following, y_following;
    x_following = queue[head].x + 1;
    y_following = queue[head].y * 2;
    return;
    }
int main()
    {
   
    struct Maze queque[9];
    int head = 1, tail = 1;
    queque[tail].x = 0;
    queque[tail].y = 0;
    test_structsarray(queue, head, tail);
    return 0;
    }
2017-01-14 18:15
FollowDream
Rank: 2
等 级:论坛游民
帖 子:33
专家分:14
注 册:2017-1-12
收藏
得分:0 
回复 2楼 rjsp
所以说struct就像是class一样,必须要定义在任何函数的外面…… 谢谢!
2017-01-17 18:28
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9026
专家分:54030
注 册:2011-1-18
收藏
得分:0 
以下是引用FollowDream在2017-1-17 18:28:25的发言:

所以说struct就像是class一样,必须要定义在任何函数的外面…… 谢谢!
没这说法
而是“使用前必须先定义”
2017-01-18 08:22
快速回复:结构体数组struct是不是只能定义成全局变量?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025768 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved