【发布时间】:2020-06-20 02:43:56
【问题描述】:
* 的使用非常令人困惑,尤其是对于我们 C 的新手来说。我的意思是,您如何轻松区分使用 * 作为指针,* 作为取消引用运算符,@ 987654324@作为乘法运算符?我在网上看到很多* 的不同用法,这很令人困惑,尤其是关于* 的不同位置,例如如下面的示例代码所示。 * 的哪些位置是正确且可取的,以避免与指针、取消引用和乘法混淆?
代码只是示例,可能...实际上无法编译。
int main(void){
int *size, length, width;
*size1= malloc(sizeof(int) * length);
*size2= (int *) malloc(width * sizeof(int) * width);
*size3= malloc(sizeof(int) *length);
printf("%d\n%d\n%d\n", size1,size2,size3);
return (0);
}
注意:我是 C 的新手,请不要向我推荐无用的链接和(“据说”)重复的,它们不能回答与此完全相同的问题......请允许其他人发表他们的观点,所以我们得到最多的答案,没有人知道这一切,你会惊讶于会弹出一些新的东西,即使对于所谓的 C 老前辈也是如此。
【问题讨论】:
-
那是相当冒犯的态度。如果您的问题是重复的,那么不仅应该向您推荐其他答案,而且应该关闭您的问题。
标签: malloc dynamic-memory-allocation realloc calloc