记录一些c++二维数组以及指针的使用

首先,先定义一个结构体

struct myPtr
{
	int *x = {nullptr};
	int *y = { nullptr };
	int *z = { nullptr };
};

给自定义结构体开辟空间

void mallocBuf(myPtr** _ptr,int arraySize)
{
	//开辟空间,并赋值.
	*_ptr = new myPtr();

	(*_ptr)->x = new int[5];
	(*_ptr)->y = new int[5];
	(*_ptr)->z = new int[5];

	for (int i = 0; i < 5; i++)
	{
		(*_ptr)->x[i] = rand() % 10;
		(*_ptr)->y[i] = (*_ptr)->x[i] +1;
		(*_ptr)->z[i] = (*_ptr)->x[i] +2;
	}
}

接下来测试代码

void test()
{
		myPtr **_ptrList = new myPtr*[5];
		for (int i = 0; i < 5; i++)
		{
			mallocBuf((_ptrList + i), 5);
		}
				for (int i = 0; i < 5; i++)
					{
						std::cout << "---------------" << i << std::endl;
						if (_ptrList != nullptr)
						{
							for (int j = 0; j < 5; j++)
							{
								if (_ptrList[i].x != nullptr && _ptrList[i].y != nullptr&& _ptrList[i].z != nullptr)
								{
									std::cout << _ptrList[i].x[j] << " " << _ptrList[i].y[j] << " " << _ptrList[i].z[j] << "  |";
								}
								else
								{
									std::cout << "_ptrList[i].x is nullptr" << std::endl;
								}
							}
						}
						}
					**//释放空间.**
					for (int i = 0; i < 5; i++)
					{
						if (_ptrList[i] != nullptr)
						{
							**//释放内部空间**.
							delete[] _ptrList[i]->x;
							delete[] _ptrList[i]->y;
							delete[] _ptrList[i]->z;
		
							delete _ptrList[i];
						}
					}
		
					delete[]_ptrList;

}

这个就是二维指针的简单使用方式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值