如下怎么实现?

柴西卡夫卡 2010-12-12 12:05:46

struct key
{
char *word;
int count;
}keytab[KEYS];

#define KEYS (sizeof(keytab) / sizeof(struct key))

这两条无论哪条放在前面都会提示有未定义,编译不过,我就想这样声明的话怎么办?
...全文
104 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiao_wanpeng 2010-12-12
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 milkylove 的回复:]

引用楼主 qw345 的回复:
C/C++ code

struct key
{
char *word;
int count;
}keytab[KEYS];

#define KEYS (sizeof(keytab) / sizeof(struct key))


这两条无论哪条放在前面都会提示有未定义,编译不过,我就想这样声明的话怎么办?


这就像解二元一次方……
[/Quote]
这个二元一次方程很形象...
prohibit 2010-12-12
  • 打赏
  • 举报
回复
这个思路可以理解为:我要定义一个数组keytab,其大小是数组keytab的的大小……
最终数组keytab的大小还是未知
这个逻辑就有点别扭
失落的凡凡 2010-12-12
  • 打赏
  • 举报
回复
[Quote=引用楼主 qw345 的回复:]
C/C++ code

struct key
{
char *word;
int count;
}keytab[KEYS];

#define KEYS (sizeof(keytab) / sizeof(struct key))


这两条无论哪条放在前面都会提示有未定义,编译不过,我就想这样声明的话怎么办?
[/Quote]

这就像解二元一次方程组
{
x = y
y = x
}

dgaowyuan123 2010-12-12
  • 打赏
  • 举报
回复
楼主这个定义,纠结。有点像的A[n],n=键盘输入。
swolf_qu 2010-12-12
  • 打赏
  • 举报
回复
支持3楼
jackyjkchen 2010-12-12
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 qw345 的回复:]
哦,只是书里说这样可以,我试了一下不可以,所以在想哪里写错了
[/Quote]
这本书扔掉
virtualcode 2010-12-12
  • 打赏
  • 举报
回复
为什么非要定义类型的时候,一同定义变量呢,分开不久解决了
柴西卡夫卡 2010-12-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jackyjkchen 的回复:]

无解,除非KEYS定值
[/Quote]
如果KEYS定值的话,
#define KEYS (sizeof(keytab) / sizeof(struct key)) 还有用吗?
柴西卡夫卡 2010-12-12
  • 打赏
  • 举报
回复
哦,只是书里说这样可以,我试了一下不可以,所以在想哪里写错了
jackyjkchen 2010-12-12
  • 打赏
  • 举报
回复
无解,除非KEYS定值
shexinwei 2010-12-12
  • 打赏
  • 举报
回复

struct key
{
char *word;
int count;
}keytab[KEYS];

#define KEYS (sizeof(keytab) / sizeof(struct key))



想想你要干什么?
定义一个数组,这个数组的大小不知道怎么定义?
你想用数组的大小来定义数组的大小?这个逻辑通吗?
柴西卡夫卡 2010-12-12
  • 打赏
  • 举报
回复
会提示struct key找不到
Athenacle_ 2010-12-12
  • 打赏
  • 举报
回复
#define KEYS (sizeof(keytab) / sizeof(struct key))

放前面

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧