为结构数组分配内存块,可以使用C++中的new
操作符。以下是一个示例代码:
#include<iostream>
using namespace std;
struct Student {
string name;
int age;
float score;
};
int main() {
int n = 5; // 需要分配的结构体数组长度
Student* students = new Student[n]; // 分配内存块
// 遍历数组并初始化每个元素
for (int i = 0; i < n; i++) {
students[i].name = "Student " + to_string(i + 1);
students[i].age = 18 + i;
students[i].score = 80.0f + i;
}
// 输出数组元素
for (int i = 0; i < n; i++) {
cout << "Name: "<< students[i].name << ", Age: "<< students[i].age << ", Score: "<< students[i].score<< endl;
}
// 释放内存
delete[] students;
return 0;
}
在这个示例中,我们定义了一个Student
结构体,并使用new
操作符为其分配了一个包含5个元素的数组。然后,我们遍历数组并初始化每个元素,最后输出数组元素并释放内存。
注意,在使用new
操作符分配内存时,需要在程序结束时使用delete
或delete[]
操作符释放内存,以避免内存泄漏。
领取专属 10元无门槛券
手把手带您无忧上云