【问题标题】:What does ** mean in C language? [closed]**在C语言中是什么意思? [关闭]
【发布时间】:2014-11-07 09:50:08
【问题描述】:

谁能解释一下这段代码是什么意思?

  int **d= (int**)malloc((m+1)*sizeof(int));

d 和 (int) 的 ** 是什么?它们是否与指针有关?

【问题讨论】:

  • 是的,它们与指针有关。这不是学习 C 的方法。请获取教科书。
  • 不要与sizeof之前的*混淆。它与指针无关。
  • 不应该是sizeof(int *) 还是更好的sizeof(*d)

标签: c pointers


【解决方案1】:
int** d; //pointer to a pointer to an integer

【讨论】:

  • 那么在 malloc 调用之前的 (int**) 呢?
  • malloc 调用返回指向分配地址的指针.. 将其转换为指向整数指针的指针,使用该调用。这就是类型转换。
  • 请注意,在 C 中,强制转换既多余又具有潜在危险。见:stackoverflow.com/questions/605845/…
  • @paul。好的,明白你说的了。不知道这个。 :)
猜你喜欢
  • 2011-08-27
  • 2018-03-22
  • 1970-01-01
  • 2011-01-14
  • 1970-01-01
  • 2020-10-30
  • 2015-03-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多