【发布时间】:2017-04-05 07:14:32
【问题描述】:
我经常看到 malloc 分配的语法:
int **p = malloc(N*sizeof(int*))
p 是一个指针。我还看到了以下语法(可能我的来源不对):
int **p = malloc(N*sizeof(*int))
上述两种语法的区别在于,“star”* 出现在第一个类型 int 之后,第二个出现在之前。
您能告诉我上述两者之间的正确语法吗?
【问题讨论】:
-
不应该是
int *p = malloc(N*sizeof(int))还是int **p = malloc(N*sizeof(int*))? -
是的,
int **p = malloc(N*sizeof(int*))我在编辑中修复了它 -
不要在互联网上发布这个问题,你为什么不在你的编译器中尝试它们,它会告诉你。另外,如果您阅读并理解了一本 C 编程书籍,您应该能够发现
*int是无稽之谈。