關於指向結構體組二維指標傳址的學習
阿新 • • 發佈:2021-01-30
C++中關於指向結構體組二維指標傳址的學習
問題背景
存在結構體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;
}