【发布时间】:2015-06-08 11:14:14
【问题描述】:
有没有办法在“main”函数中使用动态内存定义“缓冲区”,但在另一个函数中在“main”之外使用它 IE。 我有一个数组,我通过“main”中的“malloc”将内存分配给“buffer”,如下所示
int main()
{
uint32_t *buffer = malloc( array_size * sizeof *buffer);
}
但我必须在 main 之外初始化值
void fun(uint32_t data)
{
buffer[0] = data;
...
}
在我的案例中,数据实际上是在运行时来自相机
我也尝试在全局范围内使用“malloc”,但没有成功
【问题讨论】:
-
您只需将指针作为参数传递给此函数。
-
将 *buffer 传递给函数并形成该函数尝试修改它。它会起作用的。在全局空间中使用 malloc 时遇到什么错误?
-
请认真思考你的问题(没有标点符号是不好的迹象),我看不懂。
-
你在混用东西。你没有定义
malloc,你定义了buffer。函数malloc已经为你定义好了。 -
我收到错误消息“初始化元素不是编译时常量”@Nihar