读书人

C中的define为什么有有关问题

发布时间: 2012-03-20 14:01:11 作者: rapoo

C中的define为什么有问题?
C中的define为什么有问题?
想得到一个符号常量,
/////////////////////////////////////
//用define编译不成功
#define MAXSIZE 100;

typedef int ElemType;

typedef struct {
int r, c;
ElemType e;
} Triple;

typedef struct {
int rows, cols, elements;
Triple data[MAXSIZE];//语法错误在此产生
} Matrix;
/////////////////////////////////////////////////
//只有用enum,成功
enum {MAXSIZE = 100};

typedef int ElemType;

typedef struct {
int r, c;
ElemType e;
} Triple;

typedef struct {
int rows, cols, elements;
Triple data[MAXSIZE];
} Matrix;

不知道是不是我基础知识,没有发现问题,谢谢各位指教。谢谢。

[解决办法]
#define MAXSIZE 100;
==========
#define MAXSIZE 100

[解决办法]
楼上的正解

[解决办法]
楼上正解.

如果拟定义成: #define MAXSIZE 100;
那么意味着MAXSIZE 会被替换成 "100; ", 注意有 "; ",

那么:
Triple data[MAXSIZE];
变成:
Triple data[MAXSIZE;];
语法错误所以在此产生
[解决办法]
这个就是为什么在C++中部建议再用#defined的原因,建议用const

读书人网 >C++

热点推荐