我有一个函数,我想返回一个 int 数组,但我不想为此创建一个变量,就像这样
int* foo()
{
static int bar[]={1,2,3}; // edit thanks to comments
return bar;
}
为了解决这个问题,我尝试了这个:
return (Uint8Type*) gAppCanContext.BluetoothMacAddr[0] + MacAddr[1] + '-'\
+ gAppCanContext.BluetoothMacAddr[2] + MacAddr[3] + '-' ;
但它不起作用。我也试过这个:
return (Uint8Type*[]){ MacAddr[0] , MacAddr[1] + '-' MacAddr[3] ... };
它编译时发出警告,如果我执行程序,它会冻结。我也尝试过使用星号和 & 符号,但我无法让它正常工作。
甚至可能吗?如果是这样,怎么做?
补充:我不能使用 malloc - 是一个没有动态分配的嵌入式系统。