use*_*204 0 c malloc dynamic-memory-allocation
如果我想创建一个2D数组,用户输入指定维度,我不能只在主函数中按顺序执行此操作吗?一旦我使用scanf获得尺寸,然后我创建一个具有这些尺寸的数组?根据我的理解,当运行时不知道所需的空间时,应该使用malloc.我不知道运行时所需的空间,但我没有动态分配内存,无论如何它都会工作,对吧?也许我完全误解了一些东西.
orl*_*rlp 6
通常在C中使用动态分配有三种方法:
直到运行时才知道大小(另一种选择是VLA,但那是C99并且有潜在危险,见原因2).
大小(很可能)对于堆栈来说太大了,冒着堆栈溢出的风险.
对象需要在堆上生存,使其比"自动"存储更长寿命.
归档时间:
14 年,1 月 前
查看次数:
125 次
最近记录: