何时在 C 中使用指针

When to use pointers in C

我有这样的结构:

typedef struct {
    int hi;
} my_struct;

使用这个有优势吗:

my_struct *test = malloc(sizeof(my_struct));
test->hi = 1;

而不是这个:

my_struct test;
test.hi = 1;

不,通常情况恰恰相反。如果你可以使用格式来满足你的要求

my_struct test;
test.hi = 1;

那么它总是更好,运行时的开销更少。当您可以不用它们时,使用内存分配器函数通常没有任何优势。