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

zhangjy2001 2003-09-29 10:48:43
我定义了一个
#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;
如果不行,有什么别的方法吗???





...全文
112 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
junmayang 2003-10-03
  • 打赏
  • 举报
回复
搞笑,a1,a2只是一种数据类型,怎么能用它来赋值??
ninesong 2003-09-29
  • 打赏
  • 举报
回复
struct a {
int n;
};
typedef struct a * a1
typedef struct a * a2;
很久没有用C了也不知道语法是否正确,
你的错误原因定义的是结构体指针数组,而a1,a2的数据类型不是,加上*运算符就OK了。
verbal 2003-09-29
  • 打赏
  • 举报
回复
是不可以的!
static void * pdn[DNLEGTH];
所以pdn[]是指针地址,不能那样赋值的!
赞成楼上matt1014(我要成为编程高手,大家帮我吧)的!
Bandry 2003-09-29
  • 打赏
  • 举报
回复
那是指针啊,当然要赋指针值给它拉
helloair 2003-09-29
  • 打赏
  • 举报
回复
#define DNLENGTH 4

static void * pdn[DNLENGTH];

struct a {
int n;
} a1 , a2;

struct b {
int i;
}b1,b2;

int main ()
{
pdn[0] = &a1;
pdn[1] = &a2;
pdn[2] = &b1;
pdn[3] = &b2;
return 0;
}
matt1014 2003-09-29
  • 打赏
  • 举报
回复
当然不可以,哪有这样的
(struct a *)pdn[1] = &a1;(struct a *)pdn[2] =&a2;(struct b *)pdn[3] = &b1; (struct b *)pdn[4] = &b2;
sandsboy 2003-09-29
  • 打赏
  • 举报
回复
#define DNLENGTH 4

static void * pdn[DNLENGTH];

struct a {
int n;
} a1 , a2;

struct b {
int i;
}b1,b2;

int main ()
{
(struct a *)pdn[0] = &a1;
(struct a *)pdn[1] = &a2;
(struct b *)pdn[2] = &b1;
(struct b *)pdn[3] = &b2;
return 0;
}
要将pdn强制转换为指向某一个结构的指针
skywinner 2003-09-29
  • 打赏
  • 举报
回复
void指针是一种特殊的指针,他可以指向任何地址。比如
int i;
void *pa;
pa=&i;

楼主的可以用pdn[0]=&a1;来赋值。
但如果要把void指针赋给别的指针变量需要强制类型转换。比如

int *pi;
pi=(int *)pa;

这里的类型转换是不安全的,编译器不会承担任何责任。
elvahuang 2003-09-29
  • 打赏
  • 举报
回复
多看看书吧
玄豹 2003-09-29
  • 打赏
  • 举报
回复
楼主那样是不可以的!
cnxiaohai 2003-09-29
  • 打赏
  • 举报
回复
楼主,试试这个吧

define DNLENGTH 4

static void * pdn[DNLENGTH];

struct a {
int n;
} a1 , a2;

struct b {
int i;
}b1,b2;

int main ()
{
pdn[0] = &a1;
pdn[1] = &a2;
pdn[2] = &b1;
pdn[3] = &b2;
return 0;
}
lemon520 2003-09-29
  • 打赏
  • 举报
回复
不可以!
按楼上说的方法复制吧!

69,371

社区成员

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

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