| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1680 人关注过本帖
标题:求大神解答~全局变量和顺序表
只看楼主 加入收藏
桔梗老板
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2019-3-25
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:4 
求大神解答~全局变量和顺序表
我运行了一下
发现一定要int Initlist(Sqlist &L) 和int Insertlist(Sqlist &L)其中一个需要参数传引用就可以运行,如果这个两个函数都没有参数传引用就不能运行 为啥嘞~
为什么不是定义全局变量后 直接就是相当于对全局变量分配空间、赋值等 而是还需要参数传引用
程序代码:
#include<stdio.h> 
#include<stdlib.h>
#include<string.h>
#define maxsize 10

typedef struct Node
{
    int number;
    char name[10];
    int age;
}Student;

typedef struct Sqlist
{
    int length;
    Student *elem; 
}Sqlist;

Sqlist L;

//分配空间
int Initlist(Sqlist &L)
{
    L.elem=(Student *)malloc(maxsize*sizeof(Student));
    if(!L.elem)
    return 0;
    L.length=0;
    return 1;

}
//输入数据
int Insertlist(Sqlist &L)
{
    int i,n;
    if(L.length==maxsize)
    return 0;
    printf("请输入学生个数 "); 
    scanf("%d",&n); 
    printf("请输入%d个学生的年龄,姓名和学号\n",n); 
    for(i=0;i<3;i++)
    {
        scanf("%d %s %d",&L.elem[i].age,L.elem[i].name,&L.elem[i].number);
        ++L.length;
    }
    
}

void Printlist(Sqlist L)
{
    int i;
    printf("学生的信息如下\n"); 
    for(i=0;i<L.length;i++)
    printf("%d  %s  %d\n",L.elem[i].age,L.elem[i].name,L.elem[i].number); 
}

int main() 
{

    Initlist(L);
    Insertlist(L);
    Printlist(L);
    return 0; 
}
搜索更多相关主题的帖子: 全局变量 int Student length elem 
2019-03-27 20:10
ZJYTY
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:92
专家分:700
注 册:2018-12-20
收藏
得分:5 
你是想把全局变量当参数传递?

-------------------------------若有不当之处,敬请谅解-------------------------------
2019-03-28 09:09
waterstar
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:984
专家分:2810
注 册:2010-2-12
收藏
得分:5 
如果你只是想改L的话,那么不用传参就能改,不然为啥要全局变量。

然后“其中一个需要参数传引用就可以运行”是什么意思,有没有错误的截图?

冰冻三尺,非一日之寒;士别三日,不足刮目相看!
2019-03-28 21:55
桔梗老板
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2019-3-25
收藏
得分:0 
回复 2楼 ZJYTY
谢谢 我的问题解决了
2019-03-29 20:29
桔梗老板
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2019-3-25
收藏
得分:0 
回复 3楼 waterstar
我又去运行了 是我错了 (可能我当时头脑发热) 感谢你的回答
2019-03-29 20:31
快速回复:求大神解答~全局变量和顺序表
数据加载中...
 
   



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

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