动态生成一个结构体数组
struct TreeNode {
int index;
int* len;
const char* name;
};
void print(TreeNode* node) {
std::cout << "Node index: " << node->index
<< ", length: " << *node->len
<< ", name: " << node->name << std::endl;
}
TreeNode** Generate() {
TreeNode** nodeLists = (TreeNode**)malloc(sizeof(TreeNode*) * 2);
nodeLists[0] = (TreeNode*)malloc(sizeof(TreeNode));
std::cout << nodeLists[0] << std::endl;
nodeLists[0]->index= 0;
nodeLists[0]->len = (int*)malloc(sizeof(int));
*(nodeLists[0]->len) = 4;
nodeLists[0]->name = "Bin";
nodeLists[1] = (TreeNode*)malloc(sizeof(TreeNode));
nodeLists[1]->index = 1;
nodeLists[1]->len = (int*)malloc(sizeof(int));
*(nodeLists[1]->len) = 5;
nodeLists[1]->name = "Star";
}
void FreeNode(TreeNode** nodeLists) {
free(nodeLists[0]->len); nodeLists[0]->len = NULL;
free(nodeLists[0]); nodeLists[0] = NULL;
free(nodeLists[1]->len); nodeLists[1]->len = NULL;
free(nodeLists[1]); nodeLists[1] = NULL;
free(nodeLists); nodeLists = NULL;
}
int main() {
TreeNode** nodeLists = Generate();
print(nodeLists[0]);
print(nodeLists[1]);
FreeNode(nodeLists);
return 0;
}