c plus plus 结构体中可以有不定长度的数组吗,如何存放不定长度的数组
时间: 2023-10-19 08:07:51 浏览: 146
C语言不定长数组及初始化方法
5星 · 资源好评率100%
在 C++ 中,可以使用动态内存分配来存储不定长度的数组。可以使用 new 关键字动态分配内存,并在结构体中将指针作为数组的成员变量,具体实现如下:
```
struct MyStruct {
int* myArray; // 指向动态分配的数组的指针
int size; // 数组的大小
};
int main() {
int size = 10; // 假设数组大小为 10
MyStruct myStruct;
myStruct.size = size;
myStruct.myArray = new int[size]; // 动态分配内存
// 对数组进行操作
for (int i = 0; i < size; i++) {
myStruct.myArray[i] = i;
}
// 释放内存
delete[] myStruct.myArray;
return 0;
}
```
需要注意的是,动态分配的内存需要在不再使用时手动释放,否则会导致内存泄漏。可以使用 delete[] 关键字来释放内存。
阅读全文