【问题标题】:What is the difference between:有什么区别:
【发布时间】:2016-12-01 19:58:43
【问题描述】:
struct ArrayQueue *Q = (struct ArrayQueue*)malloc(sizeof(struct ArrayQueue)); 

struct ArrayQueue *Q = malloc(sizeof(struct ArrayQueue));

我有点困惑何时使用什么以及它们有什么区别?直觉上,我觉得第一种用法是在函数中编写,第二种是在结构中编写。

【问题讨论】:

  • 你是用 C 写的吗?
  • 是的,我正在用 C 语言编写。
  • Narsimha Karumanchi 在他的书中使用了这两种用法...
  • 它们的工作方式相同。见此链接:stackoverflow.com/questions/605845/…
  • 我喜欢第二种用法(无处不在),因为它需要更少的输入,并且不需要演员表。无论如何,您不能在结构中编写这些语句,因此我不确定您在最新编辑中的意思。

标签: c syntax malloc


【解决方案1】:

默认情况下,函数 malloc 返回一个 void*。尽管您不必显式地转换为您想要的类型(编译器会这样做),但有些程序员喜欢让它更清晰。

这取决于你的编码风格,两者都可以接受。

【讨论】:

    猜你喜欢
    • 2012-05-01
    • 2010-10-02
    • 2011-12-12
    • 2010-09-16
    • 2012-03-14
    • 2012-02-06
    • 2011-02-25
    • 2011-11-22
    • 2015-03-26
    相关资源
    最近更新 更多