(int**)malloc(sizeof(int*))

Krz*_*iek 1 c malloc double-pointer

我知道为了malloc指向数组的指针数组,语法应该是:

(int**)malloc(numberOfDesiredElements*sizeof(int*))
Run Code Online (Sandbox Code Playgroud)

不小心忘了把numberOfDesiredElements*size放在前面。它搞乱了我的程序抛出随机分段错误,即有时程序输出正确,有时它出现段错误。

有人可以解释当我没有指出我想要多少个插槽时发生了什么吗?

谢谢!

gee*_*aur 5

这只是一个普通的乘法,不是魔术语法;所以它为 1 而不是 3 分配了空间。