社区
C语言
帖子详情
关于结构体指针的问题。请高手帮忙!急急急急急急急急急急急急急
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;
如果不行,有什么别的方法吗???
...全文
118
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; 如果不行,有什么别的方法吗???
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
不可以!
按楼上说的方法复制吧!
请
教
高手
关于EXCEL行列转换的
问题
!谢谢!
急
急
急
!!!
一般的方法行不通,可能要用到宏或者编一个程序,
请
帮忙
!
c + + 计 时 器
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
c + + 计 时 器
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
1
急
急
急
i几i积极
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
积极
1
急
急
急
i几i积极
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
急
积极
图片试用
急
急
急
急
急
急
急
急
急
图片试用
急
急
急
急
急
急
急
急
急
演讲
急
急
急
急
急
急
急
急
急
急
演讲
急
急
急
急
急
急
急
急
急
急
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章