c - 何时在 C 中使用指针

标签 c pointers struct dynamic-memory-allocation

我有一个这样的结构:

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;

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

关于c - 何时在 C 中使用指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39232436/

相关文章:

iphone - 如何在 Objective-C 中使用 C 预处理器递增一个值?

c - 文件传输程序中的 send() 和 sendto() 阻塞

c - 错误 : expression must be a modifiable l value

c++ - 无法通过函数传递 vector 中的 ifstream 指针

C++ 访问不属于对象本身的内存

c - 在 C 中取消分配结构内部的内存

C#迭代器不能包含return语句

无法从 arduino 发送 RS-232 命令

c - 如何使用结构体成员初始化结构体?

c - "warning: ' 结构矩阵 ' declared inside parameter list [enabled by default]"和错误 : conflicting types for 'scanToken'