1. 程式人生 > 其它 >關於指向結構體組二維指標傳址的學習

關於指向結構體組二維指標傳址的學習

技術標籤:指標c++

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; }