realloc MoveMemory

本文介绍如何使用realloc函数调整内存块大小及MoveMemory函数移动内存。详细解释了realloc在动态数组扩容中的应用,并展示了如何通过MoveMemory在数组指定位置插入元素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

重新分配的内存块

void *realloc(
   void *memblock,
   size_t size 
);

动态增加数组大小

TYPE* pDataNew = ( TYPE* )realloc( m_pData, nNewMaxSize * sizeof( TYPE ) );

        if( pDataNew == NULL )
            return E_OUTOFMEMORY;

        m_pData = pDataNew;

        m_nMaxSize = nNewMaxSize;

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////

从一个位置移动到另一个内存块。

void MoveMemory(
  __in          PVOID Destination,
  __in          const VOID* Source,
  __in          SIZE_T Length
);


数组下标nIndex中插入元素

TYPE* pDataNew = ( TYPE* )realloc( m_pData, m_nSize * sizeof( TYPE ) );

        if( pDataNew == NULL )             return E_OUTOFMEMORY;         m_pData = pDataNew; MoveMemory( &m_pData[nIndex + 1], &m_pData[nIndex], sizeof( TYPE ) * ( m_nSize - nIndex ) ); m_pData[nIndex] = value;     ++m_nSize; 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值