函数
BaseLib_Memory_Malloc
功能
三级指针内存申请
语法
BOOL
BaseLib_Memory_Malloc(VOID * **pppszPoint, size_t nCount, size_t nSize)
参数
参数.一:pppszPoint
In/Out:Out
类型:三级指针
可空:N
意思:输出申请好的内存,内存会被初始化为0
参数.二:nCount
In/Out:In
类型:整数型
可空:N
意思:输入列表个数
参数.三:nSize
In/Out:In
类型:整数型
可空:N
意思:输入元素大小
返回值
类型:逻辑型
意思:是否成功
备注
用来处理一些特殊导出参数和输入参数.可作为list的代替
示例
int
test_Memory()
{
int**
ppIntArray;
if
(!BaseLib_OperatorMemory_Malloc((void***)&ppIntArray, 3, sizeof(int)))
{
return -1;
}
for (int i = 0; i <
3;
i++)
{
*(ppIntArray[i])
= i;
}
for (int i = 0; i <
3;
i++)
{
printf("%d\n",
*(ppIntArray[i]));
}
BaseLib_OperatorMemory_Free((void***)&ppIntArray, 3);
CHAR**
ppszStr;
if
(!BaseLib_OperatorMemory_Malloc((void***)&ppszStr,
3,
6))
{
return -1;
}
for (int i = 0; i <
3;
i++)
{
strcpy(ppszStr[i],
"hello");
}
for (int i = 0; i <
3;
i++)
{
printf("%s\n",
ppszStr[i]);
}
BaseLib_OperatorMemory_Free((void***)&ppszStr,
3);
typedef struct
{
int a;
int b;
}XENGINE_MEMORY;
XENGINE_MEMORY**
ppSt_Memory;
BaseLib_OperatorMemory_Malloc((XPPPMEM)&ppSt_Memory,
3,
sizeof(XENGINE_MEMORY));
for (int i = 0; i <
3;
i++)
{
ppSt_Memory[i]->a
= 1;
ppSt_Memory[i]->b
= i;
}
for (int i = 0; i <
3;
i++)
{
printf("%d %d\n",
ppSt_Memory[i]->a, ppSt_Memory[i]->b);
}
BaseLib_OperatorMemory_Free((void***)&ppSt_Memory, 3);
return 0;
}