关于结构体指针的问题。请各位帮忙!急急急急急急急急急急急急急

zhangjy2001 2003-09-29 10:50:12

我定义了一个
#define DNLENGTH 4
static void * pdn[DNLEGTH];

struct a {
int n;
} a1 , a2;

struct b {
int i;
}b1,b2;

是不是可以直接用:pdn[1] = a1;pdn[2] = a2;pdn[3] = b1; pdn[4] = b2;
如果不行,有什么别的方法吗???
...全文
36 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangjy2001 2003-09-29
  • 打赏
  • 举报
回复
谢谢楼上的兄弟,我解决了,应该是


((struct a *)pdn[0])->n=10;


这样才行!!!
sevecol 2003-09-29
  • 打赏
  • 举报
回复
你保存在pdn中的指针是void*
使用的时候需要转化成实际的指针类型

((a*)pdn[0])->n=10;
zhangjy2001 2003-09-29
  • 打赏
  • 举报
回复
上面写错了。
应该是pdn[1]-> n = 10;
zhangjy2001 2003-09-29
  • 打赏
  • 举报
回复
关于上面的问题的补充!!
我的意思是我想:::pdn[1] = &a1;pdn[2] = &a2;pdn[3] = &b1; pdn[4] = &b2;
如果我 pdn[1].n = 10; 这样就不行。。
lth_81 2003-09-29
  • 打赏
  • 举报
回复
同意楼上的,么错
sevecol 2003-09-29
  • 打赏
  • 举报
回复
这样
pdn[1] = &a1;pdn[2] = &a2;pdn[3] = &b1; pdn[4] = &b2;

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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