我有一个指向数组的全局指针,假设它有如下所示的声明。
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编译器。