首 页 行业热点 新车 试驾评测 养车用车 车型库

如何创建动态的二维数组?

发布网友

我来回答

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;
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com