读书人

[请问]visual C++ 2005 中的malloc函数

发布时间: 2012-03-06 20:47:55 作者: rapoo

[请教]visual C++ 2005 中的malloc函数问题
使用VC++2005编译C程序,出现错误 “非法间接寻址”在
句子S.base=(ElemType*)malloc(STACK_INIT_SIZE*sizeof(ElemType));中,(如果改成S.base=(ElemType*)malloc(sizeof(ElemType));就可通过编译。)
程序如下
#include "stdafx.h "
#define STACK_INIT_SIZE 100;
#define STACKINCREMENT 10;
#define OVERFLOW -2;
#define OK 1;
#define ERROR 0;

typedef int Status;

typedef struct{
int data;
}ElemType;

typedef struct SqStack{
ElemType *base;
ElemType *top;
int stacksize;
}SqStack;

Status InitStack(SqStack &S)
{
S.base=(ElemType*)malloc(STACK_INIT_SIZE*sizeof(ElemType));
if(!S.base)
return OVERFLOW;
S.top=S.base;
S.stacksize=STACK_INIT_SIZE;
return OK;
}//InitStack

。。。。。。。

实在找不出是什么问题,请高手指点

[解决办法]
#define STACK_INIT_SIZE 100;
#define STACKINCREMENT 10;
#define OVERFLOW -2;
#define OK 1;
#define ERROR 0; 大哥,在用#define 的时候不需要后面的分号,C的基本语法,你把后面的所有分号去掉就OK了
[解决办法]
管理

读书人网 >C++

热点推荐