回 帖 发 新 帖 刷新版面

主题:一个线性表的问题。请教一下大家。初学者:)

#include<stdio.h>
#include<malloc.h>
#include<conio.h>

#define ERROR 0
#define OK 1
#define OVERFLOW -1
#define LIST_INIT_SIZE 20
#define LISTINCRMENT 10
typedef int status;

struct STU{
   char name[20];
   char stuno[10];
   int age;
   int score;
}stu[50];
typedef struct STU ElemType;

struct LIST
{
  ElemType *elem;
  int length;
  int listsize;
}

typedef struct LIST sqList;

status InitList_sq(sqList *L)
{
  L->elem=(ElemType *)malloc(LIST_INIT_SIZE*sizeof(ElemType));
  if(!L->elem) exit(OVERFLOW);
  L->length=0;
  L->listsize=LIST_INIT_SIZE;
  return OK;
}
 status ListLength(sqList *L)
{
 return L->length;
}

  main()
{
  sqList La;
  int length;
  status InitList_sq(&La);
  length=status ListLength(&La);
  printf("\n La.length= ",La.length);
  getchar();

}


  总是通不过 编译。  
 他说 too many types in declaration
   (第一个错)
 一共5个 错误。    哪儿错了。知道的指导一下。
谢谢。

回复列表 (共3个回复)

沙发

struct LIST
{
  ElemType *elem;
  int length;
  int listsize;
}

少个分号

板凳

vc6.0 下面编译可以通过:
但是不是很明白楼主的意思哦
特别是把InitList_sq定义成int型的返回1却没有任何引用


#include<stdio.h>
#include<malloc.h>
#include<conio.h>
#include<stdlib.h>//exit()要用到此头文件

#define ERROR 0
#define OK 1
#define OVERFLOW -1
#define LIST_INIT_SIZE 20
#define LISTINCRMENT 10
typedef int status;

struct STU{
   char name[20];
   char stuno[10];
   int age;
   int score;
}stu[50];
typedef struct STU ElemType;

struct LIST
{
  ElemType *elem;
  int length;
  int listsize;
};//加一个分号

typedef struct LIST sqList;

status InitList_sq(sqList *L)
{
  L->elem=(ElemType *)malloc(LIST_INIT_SIZE*sizeof(ElemType));
  if(!L->elem) exit(OVERFLOW);
  L->length=0;
  L->listsize=LIST_INIT_SIZE;
  return OK;
}
 status ListLength(sqList *L)
{
 return L->length;
}

void main()
{
  sqList La;
  int length;
  InitList_sq(&La);//去掉status
  length=ListLength(&La);//去掉status
  printf("\n La.length= ",La.length);
  getchar();

}

3 楼

谢谢 bpttc 咖喱炒饭  的回答!
   我现在明白了 :)

我来回复

您尚未登录,请登录后再回复。点此登录或注册