标题:求大神解答~全局变量和顺序表
取消只看楼主
桔梗老板
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2019-3-25
结帖率:100%
已结贴  问题点数:10 回复次数:2 
求大神解答~全局变量和顺序表
我运行了一下
发现一定要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
桔梗老板
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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-493827-1-1.html




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

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