C语言下如何处理不定长的一个表?
在C语言中处理表最常用的方式就是定义一个结构体,
但是,如果我现在有一个不定长的表,即这个表当中有
的项的数据是不定长的,那么我该如何定义这个结构体,
或者,我可以用什么其他的方式来处理?
问题点数:100、回复次数:4Top
1 楼liushmh(想开书店:) )回复于 2002-08-12 16:19:47 得分 10
我想这样可不可以?
struct content
{
char ch;
struct content *next;
};
struct list
{
struct content *ct;//纪录每项内容
struct list *next;//下一项的地址
};
Top
2 楼bydpdwz(蚊子)回复于 2002-08-12 16:54:08 得分 70
不要试图寻找一个可以处理丝毫不知道长度的方法。计算机是最笨的东西,你总需要告诉它要干什么、哪些数据在哪里。唯一的办法就是指针,常量的指针,变量的指针,指针的指针,
你说的不定长表比较好处理,因为表本身就是不定长的。
内部数据不定长要比较麻烦,你至少需要一个固定的字节(变量)来存储表中数据的长度。它后面的数据可以根据这个变量找到就行了Top
3 楼mattrew(小耗子)回复于 2002-08-12 17:30:54 得分 10
不定长 就点是动态的去处理
用链表去分配
存取空间
然后用接点结构去处理动态的数据
Top
4 楼step_by_step(脚印)回复于 2002-08-12 17:45:56 得分 10
动态的去获得大小,再动态的去给各个节点分配内存Top




