我是C的新手,一直致力于获取指针等等.我正在学校里练习,我们应该把所有必需的记忆都包括在内,包括互斥体.据我所知,malloc总是返回一个指向某个内存的指针(除非它失败).如果是这种情况,你会怎么malloc为类似互斥的东西,从根本上不是指针?
在作业中,我们非常明确地说我们必须为互斥体做这件事,但我找不到如何在任何地方做到这一点.
最后,我不希望任何人担心"给我答案",因为那不是我所分配的问题; 相反,这是我们应该做的内存监控的必要条件; 我只是不确定应该是什么样的正确语法.
你可以指向任何类型的指针.
您的互斥锁可能定义如下:struct mutex_t {..}.如果是这样,你可以有一个指向它的指针:struct mutex_t *my_mutex你可以在以后使用它来存储malloc返回的指针.看这个例子:
struct mutex_t *my_mutex;
my_mutex = malloc(sizeof(struct mutex_t));
Run Code Online (Sandbox Code Playgroud)
第二行启动my_mutex指向指向您的互斥结构大小的内存的指针.现在,很可能你正在使用的库定义函数来初始化它void mutex_init(struct mutex_t*),你可以使用它来实际构造malloc保留的内存中的互斥.