确保动态位置成功

时间:2018-02-18 21:22:53

标签: c embedded malloc avr

我有一个指向数组的全局指针,假设它有如下所示的声明。

uint8_t * g_ptr;

我有一些功能

void foo(uint8_t no_devices);

将用于分配所需大小的数组。

函数malloc()返回的指针将存储在g_ptr中。如果动态分配成功,这将像champ一样工作,但如果malloc()返回NULL值,那该怎么办。

我知道如何处理这种错误,只是想得到你的意见。

do
{
  g_ptr = (uint8_t *) malloc(no_devices * 8);
}
while(g_ptr == NULL)

这是个好主意,还是有其他办法来处理这类错误?

我正在使用avr-gcc编译器。

0 个答案:

没有答案