malloc 中的表达式不能用define订的值
malloc 中的表达式不能用define定的值
编译总是不通过,如果把L.base=(char *)malloc( sizeof(char)*Stack_Initsize);中的Stack_Initsize换成100就行了,不知道咋整,求大神解惑
------解决方案--------------------
#define Stack_Initsize 100
后面的分号不要
------解决方案--------------------
------解决方案--------------------
建议 少用宏: 不安全! 它只会替换!
------解决方案--------------------
++
#include<stdlib.h>
#define Stack_Initsize 100;
typedef struct{
char *base,
*top;
int stacksize;
}SqStack;
void initstack(SqStack &L){
L.base=(char *)malloc( sizeof(char)*Stack_Initsize);
//if(!base)
}
编译总是不通过,如果把L.base=(char *)malloc( sizeof(char)*Stack_Initsize);中的Stack_Initsize换成100就行了,不知道咋整,求大神解惑
------解决方案--------------------
#define Stack_Initsize 100
后面的分号不要
------解决方案--------------------
#define Stack_Initsize 100;
#define Stack_Initsize 100 //没有分号
------解决方案--------------------
#define Stack_Initsize 100;
//宏是全部替换的,也就是 把你代码里的
//所有出现Stack_Initsize 的地方 替换成
// 100;
替换后
L.base=(char *)malloc( sizeof(char)*100;);
//这样肯定是编译不过的!
改成
#define Stack_Initsize 100
建议 少用宏: 不安全! 它只会替换!
------解决方案--------------------
++