首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2012-03-20 
C中的define为什么有问题?C中的define为什么有问题?想得到一个符号常量,////////////////////////////////

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

热点排行