设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
编程开发讨论区 —— LinuxSir.cn
›
Linux 程序设计专题讨论
›
Gun C的链表允许接点的struct不同吗?
1
2
/ 2 页
下一页
返回列表
查看:
945
|
回复:
10
Gun C的链表允许接点的struct不同吗?
[复制链接]
harrypotter
harrypotter
当前离线
积分
2276
IP卡
狗仔卡
发表于 2003-5-16 14:49:49
|
显示全部楼层
|
阅读模式
Gun C的链表允许接点的struct不同吗?
如:
struct aa
{int data;
struct bb *next;
}aa;
struct bb
{
char data1;
struct bb *next;
}bb;
然后让aa->next = bb;
要是不行,在C里如何让不同结构的struct构成链表或者占据相邻的物理内存。
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
kj501
kj501
当前离线
积分
5317
IP卡
狗仔卡
发表于 2003-5-16 16:01:50
|
显示全部楼层
想法很奇怪呀,为什么要这么做?
回复
支持
反对
使用道具
举报
显身卡
无双
无双
当前离线
积分
1799
IP卡
狗仔卡
发表于 2003-5-16 17:11:38
|
显示全部楼层
链表占用的内存也不是相邻的
另外像你这样的写法是可以的
只是要强制类型转换
当然不推荐这样用
回复
支持
反对
使用道具
举报
显身卡
白天,黑夜
白天,黑夜
当前离线
积分
27
IP卡
狗仔卡
发表于 2003-5-16 18:08:03
|
显示全部楼层
当然可以了
在aa结构里存储的只是指针,指针只会占32bit的空间(在32位机下),如果你需要这样的链表,建议你建一个结构如下
struct aa
{
int data; //数据
int type; //指针指向的结构类型标志
void * next;//指向下一个的指针
}
用的时候自己强制转换就行了
回复
支持
反对
使用道具
举报
显身卡
colored
colored
当前离线
积分
158
IP卡
狗仔卡
发表于 2003-5-16 18:32:46
|
显示全部楼层
为什么要这样用
harrypotter:
在C里如何让不同结构的struct构成链表或者占据相邻的物理内存
有什么意义?
回复
支持
反对
使用道具
举报
显身卡
harrypotter
harrypotter
当前离线
积分
2276
IP卡
狗仔卡
楼主
|
发表于 2003-5-17 11:09:14
|
显示全部楼层
我在做一个OS设备分配的模型,需要若干结构不同的接点表示设备分配表,通道控制表等,一个设备分配就是构造一个这些接点的链就行。so....只是想试试看行不行。
回复
支持
反对
使用道具
举报
显身卡
无双
无双
当前离线
积分
1799
IP卡
狗仔卡
发表于 2003-5-17 13:29:12
|
显示全部楼层
这样做会有问题
你可以定义一个其它链表
然后每个结点再保存结构不同的数据
回复
支持
反对
使用道具
举报
显身卡
harrypotter
harrypotter
当前离线
积分
2276
IP卡
狗仔卡
楼主
|
发表于 2003-5-17 14:37:14
|
显示全部楼层
请斑竹讲的详细些。。。
回复
支持
反对
使用道具
举报
显身卡
无双
无双
当前离线
积分
1799
IP卡
狗仔卡
发表于 2003-5-17 14:44:14
|
显示全部楼层
你想保留的结构
struct a{}
struct b{}
定义保留这些结构的链表
struct link{
void*data; //指向 a类对象还是b类对象
int datatype;//说明data是什么结构,1代表a,代表b
link *next;
}
使用
struct a a1;
struct b b1;
struct link li1;
li1.data=(void*)a1;
li1.datatype=1;
li1.Next=new link;
对B也同样处理
拿出来时
if( li1.type==1){
把data解释成a类型
}
回复
支持
反对
使用道具
举报
显身卡
harrypotter
harrypotter
当前离线
积分
2276
IP卡
狗仔卡
楼主
|
发表于 2003-5-17 14:52:24
|
显示全部楼层
i'll try it ,thx!
回复
支持
反对
使用道具
举报
显身卡
下一页 »
1
2
/ 2 页
下一页
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
Java 程序设计开发讨论
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表