问题背景
存在结构体Mystruct,使用指向结构体组的指针**arr,对结构体组的值进行修改。
// 结构体Mystruct
struct Mystruct
{
...
};
方法
定义修改结构体组值的函数
//定义函数function(),用于修改arr指向的Mystruct组的值
void function(Mystruct** arr)
{
//结构体构造函数
*arr[i] = Mysruct({...});
}
主函数初始化**arr
// num为Mystruct结构体组的个数
Peak** arr = (Mystruct**)malloc(sizeof(Mystruct*) * num);
for (int i = 0; i < num; i++)
{
arr[i] = (Mystruct*)malloc(sizeof(Mystruct));
//*(arr + i) = (Mystruct*)malloc(sizeof(Mystruct));
}
验证
通过cout对结构体的值进行验证
for (int i = 0; i < num; i++)
{
std::cout << "第" << (i + 1) << "个结构体" << endl << "1:" << arr[i]->1 << endl << "2: " << arr[i]->2 << endl << "3: " << arr[i]->3<< endl << "4: " << arr[i]->4 << endl ...;
//std::cout << ii << endl << *(*(arr+ii)+1) << endl << arr[ii] << endl << endl;
}