c - 在 main 中使用 malloc 但访问 main 之外

标签 c arrays scope malloc

有没有办法在“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”,但没有成功

最佳答案

一个简单而幼稚的方法:

uint32_t *buffer;

void fun(uint32_t data)
{
    buffer[0] = data;
    ...

}

int main()
{
    buffer = malloc( array_size * sizeof *buffer);
} 

关于c - 在 main 中使用 malloc 但访问 main 之外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29430911/

相关文章:

javascript - 在 Javascript 中连接数组

spring - 来自@RequestScoped bean 的数据在不同的浏览器中共享

PHP 会更改循环的范围并在包含的文件中进行切换

复制 Char * 数组会损坏数据

c - 将 char * 类型转换为 int *

javascript - 如何将元素数组呈现为 <List> 中的 <Dialog>

javascript - 隐藏数组中的空元素

javascript - Javascript中从另一个对象调用一个对象中的函数

c - 为什么if else或嵌套if else在C中被称为单语句

c - C 使用 malloc : corrupted size vs prev_size 时出错