C++中堆栈异同

同样创建一个uchar数组

在栈区(stack)创建一个数组并进行初始化

ushort arry16[ImgRow*ImgCol];

 memset(arry16, 0, ImgRow*ImgCol*sizeof(ushort));

在堆区创建是系统自动分配内存空间,并由系统自动回收,程序执行结束自动回收,不需程序员手动回收空间。当存储需要的空间十分大时,需要手动在属性中修改配置空间的大小。

在堆区(heap)创建一个数组并进行初始化

//声明一个全局变量
uchar *m_arr8;

//构造函数中为全局变量申请空间并初始化
m_arr8 = new uchar[ImgCol*ImgRow];
memset(m_arr8, 0, ImgCol*ImgRow*sizeof(uchar));


//析构函数中析构申请的空间
	if (m_arr8){
		delete m_arr8;
		m_arr8 = NULL;
	}

定义一个uchar类型的全局指针,申请一段内存空间,程序结束后在析构函数中手动析构。

申请其他空间与数组的空间也时大同小异的。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值