gpt4 book ai didi

c - 如何使用 malloc 为非指针对象(例如互斥锁)分配空间?

转载 作者:行者123 更新时间:2023-12-04 15:52:14 28 4
gpt4 key购买 nike

我是 C 的新手,一直在努力获取指针等。我正在学校做一个练习,我们应该 malloc'ing 所有需要的内存,包括互斥锁。据我所知,malloc 总是返回指向某个内存的指针(除非失败)。如果是这种情况,您将如何分配互斥锁之类的东西,它根本不是指针?

在作业中,它非常明确地说明我们也必须对互斥量执行此操作,但我无法在任何地方找到如何执行此操作。

最后,我不想让任何人担心“给我答案”,因为这并不是我被分配的真正问题;相反,这是我们应该进行的内存监控的必要条件;我只是不确定正确的语法应该是什么。

最佳答案

您可以拥有指向任何类型的指针。

你的互斥量可能是这样定义的:struct mutex_t {..}。如果是这样,您可以有一个指向它的指针:struct mutex_t *my_mutex 稍后您可以使用它来存储 malloc 返回的指针。看这个例子:

struct mutex_t *my_mutex;
my_mutex = malloc(sizeof(struct mutex_t));

第二行启动 my_mutex 指向指向您的互斥结构大小的内存的指针。现在,您正在使用的库很可能定义了初始化它的函数,例如 void mutex_init(struct mutex_t*),您可以使用它在 malloc 保留的内存中实际构造互斥量。

关于c - 如何使用 malloc 为非指针对象(例如互斥锁)分配空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15867748/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com