发布网友
共3个回答
热心网友
那第一维和第二维都可以采用双向链表指针,在基本元素类型里面添加前后指针定义
每次添加新的元素,都重新申请内存空间,赋值,并且把双向链表的前后指针都赋值
如果是下标0的元素,前指针就定义为空,如果是最后一个下标元素,后指针就定义成空
在访问元素的时候,就需要一个查找函数了,估计不能直接访问下标了追问代码
追答就是普通的双向链表操作么,添加,删除,这个随便找找书或者网上找找就有了
热心网友
vector<vector<struct MyStruct> > a
a.resize()
热心网友
#pragma hdrstop
#pragma argsused
#include <stdio.h>
#include <stdlib.h>
struct MyStruct
{
int id;
};
int main(void)
{
struct MyStruct **stm;
int i,g=5,r=4;
if ((stm=malloc(sizeof(struct MyStruct *)*g))==NULL)exit(-1);/*创建一个有g行的二维数组stm*/
for (i=0;i < g; i++) /*为stm的每一行分配r个元素的空间*/
if ((stm[i]=malloc(sizeof(struct MyStruct)*r))==NULL) exit(-1);
/*使用二维数组stm的程序...*/
for (i = 0; i<g; i++) free(stm[i]); /*释放分配的空间*/
free(stm);
return 0;
}