LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1265|回复: 7

求助!!用gcc编译c程序出现问题!

[复制链接]
发表于 2005-10-21 18:52:35 | 显示全部楼层 |阅读模式
程序代码如下:
#include<iostream>
#include<malloc>

#define OK 1
#define OVERFLOW 0
#define INIT_LIST_SIZE 100

typedef int Status;
typedef int ElemType;



typedef struct {
ElemType *elem;
int length;
int listsize;
}Sqlist;

Status Initlist(Sqlist &L)
{
L.elem=(ElemType *)malloc(INIT_LIST_SIZE*sizeof(ElemType);
if(!L.elem) exit(OVERFLOW);
L.length=0;
L.listsize=INIT_LIST_SIZE;
return OK;
}

Status main()
{
Sqlist la;
if(Initlist(la)==OK)
printf("建表成功!");
}
然后编译出现错误:
initlist.c:2:17: error: malloc: 没有那个文件或目录
initlist.c: In function 'Status Initlist(Sqlist&)':
initlist.c:21: error: expected primary-expression before '*' token
initlist.c:21: error: expected primary-expression before ')' token
initlist.c:21: error: expected `;' before 'malloc'
请大家帮帮忙!!看看出了什么问题阿??
发表于 2005-10-21 19:07:06 | 显示全部楼层
1. 确实没有malloc这个头文件
2. 既然是c程序,就不要用iostream
3. c 语言没有引用
回复 支持 反对

使用道具 举报

发表于 2005-10-21 20:21:17 | 显示全部楼层
L.elem=(ElemType *)malloc(INIT_LIST_SIZE*sizeof(ElemType);
这里还缺了个括号
回复 支持 反对

使用道具 举报

发表于 2005-10-21 21:03:21 | 显示全部楼层
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>

再加上gamedragon 兄的意见.用g++编译就行了.
回复 支持 反对

使用道具 举报

发表于 2005-10-21 21:41:49 | 显示全部楼层
老兄,您的既不像C也不像C++~~~~~
回复 支持 反对

使用道具 举报

发表于 2005-10-21 22:05:41 | 显示全部楼层
Post by ssmile
老兄,您的既不像C也不像C++~~~~~


深有同感-_-......
回复 支持 反对

使用道具 举报

发表于 2005-10-21 23:18:40 | 显示全部楼层
Post by ssmile
老兄,您的既不像C也不像C++~~~~~

楼主的代码似乎是作数据结构练习的。如果只在乎数据结构的话,用java也不错啊,就不用为c or c++的问题而困惑了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-10-22 11:41:31 | 显示全部楼层
真是不好意思!这么底级的错误都犯了!!现在搞电了!谢谢拉!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表