【问题标题】:forward reference with respect to pointers? [duplicate]关于指针的前向引用? [复制]
【发布时间】:2013-02-02 07:10:01
【问题描述】:

可能重复:
What is forward reference in C?

我在某处读到了这个问题

"What is forward reference with respect to pointers in C, and what are its advantages"

这里提到的公认答案:What is forward reference in C? 没有给出适当的解释? 谁能解释一下这到底是什么意思?有什么优势吗?

【问题讨论】:

  • 我想我在问题中提到了这一点.. 请在投票前仔细阅读问题

标签: c pointers


【解决方案1】:

前向引用 wrt 指针是我们使用的术语,当

声明了一个指针,编译器为该指针保留内存,但未定义指针指向的DataItem。

从以前的答案::

struct MyStruct *ptr; // this is a forward reference cuz pointer ptr is declared
                      // but the structure it points to is itself not defined till now.

struct MyStruct // Now the structure is declared
{
       // some data members
};

优势::Advantages

【讨论】:

  • 在这个结构 MyStruct;结构 MyStruct *ptr;结构 MyStruct 变量; // ILLEGAL 为什么 var 是非法的?
  • 看重点是,编译器需要知道“struct MyStruct”的大小来为“var”保留内存,但“ptr”是一个“指针”,它只会存储地址,因此要保留“ptr”的内存,编译器已经知道要分配的内存量。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-13
  • 1970-01-01
  • 2010-11-29
  • 2019-06-11
相关资源
最近更新 更多