【发布时间】:2016-03-11 10:47:28
【问题描述】:
我错过了几节课,并不真正理解流畅的讲座幻灯片中关于 void 指针的示例。
在“no,no,no”行中,为什么我们不能尊重 P,因为 P 已经被分配了一个真正的指针类型 q?
在“??”行中,将指针强制转换为整数是否合法? (我认为它可以编译,因为C不检查强制转换,但不知道它会得到什么样的结果
在这个例子中
Conversion of integer pointer to integer
他投了 *p = 10;
a = (int)p;
有人回答说 a 将是一个非常大的值。
但在我的情况下,is (int) *p... 和我上面给出的例子一样吗?
- 在最后一行,我对表达式感到困惑。 * ((int *)p) 实际上 = p 吗? 谢谢!
【问题讨论】:
-
“分配”和“分配给”是相反的。它说要使用
p,您必须将其值赋给另一个变量(例如int *q = p;),然后使用该另一个变量。 (或演员)。
标签: c pointers void-pointers generic-programming