L.elem = new Goods[MAXSIZE];什么意思
时间: 2024-04-23 22:24:32 浏览: 22
这是一行 C++ 代码,是为一个名为 L 的结构体或类的 elem 成员变量分配了 MAXSIZE 个元素的内存空间。其中 new 是 C++ 中动态内存分配的关键字,用于在运行时动态分配内存。这行代码的意思是为 L 中的 elem 成员变量分配了 MAXSIZE 个 Goods 类型的元素的内存空间,并将其地址赋值给 L.elem,也就是让 L.elem 指向这个内存空间。这样就可以在程序运行时动态创建一个长度为 MAXSIZE 的数组了。
相关问题
l.elem=new elemtype[maxsize];
这段代码是用C++语言创建了一个元素类型为elemtype的动态数组,其最大大小为maxsize。具体来说,它通过使用new运算符在内存中分配了一个大小为maxsize的连续区域,并将其地址赋值给l.elem,从而创建了一个名为l的数组对象。
请注意,该代码片段中的标识符“elemtype”和“maxsize”需要被替换成具体的元素类型和数组大小值,例如:
l.elem = new int[100]; //创建一个最大为100的int类型数组对象
L.elem=new ElemType[MAXSIZE]
### 回答1:
这是一个数组的动态分配方式,其中L就是数组的名字。元素类型为ElemType,最大长度为MAXSIZE。这行代码实际上在创建一个名为L的数组,并将其元素类型设置为ElemType,数组的最大长度为MAXSIZE。
### 回答2:
这是一句C语言的赋值语句,其中L代表线性表的结构体变量,.elem表示结构体中的一个成员变量,用于存储线性表的元素;new是C++中的关键字,用于动态分配内存空间;ElemType是自定义的数据类型,表示线性表元素的类型;MAXSIZE是预设的线性表的最大容量。
该赋值语句的作用是为线性表L分配了一个大小为MAXSIZE的内存空间,并将这段内存空间的首地址赋给了结构体L中的.elem成员变量。由于内存空间是动态分配的,所以需要使用new关键字来进行内存分配,在使用完后还需要使用delete关键字进行释放。
这句赋值语句的执行后,线性表L就具备了一个大小为MAXSIZE的存储空间,可以存储ElemType类型的元素。可以通过L.elem[i]的方式访问线性表L中的第i个元素。
需要注意的是,该语句只是为线性表分配了内存空间,并没有对具体元素进行初始化。在使用线性表之前,需要使用其他操作对线性表进行初始化,例如将长度设置为0。
总结起来,这句赋值语句为线性表L动态分配了一个大小为MAXSIZE的存储空间,使其具备了存储元素的能力,但需要在使用之前进行初始化操作。