首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我们需要对C中的数组使用malloc()或任何其他动态内存?

为什么我们需要对C中的数组使用malloc()或任何其他动态内存?
EN

Stack Overflow用户
提问于 2020-01-21 18:08:44
回答 4查看 288关注 0票数 1

考虑一下C中的这些代码:

代码语言:javascript
运行
复制
int n;  
scanf("\n%d ",&n);  
int arr[n];

还有这个。

代码语言:javascript
运行
复制
int n;
scanf("\n%d ",&n);
int *p = (int *)malloc(n*sizeof(int));  

为什么我们首先需要动态内存分配?

当数组在运行时创建时,第一段代码不是动态内存分配吗?

何时使用malloc()?

EN

Stack Overflow用户

发布于 2020-01-21 18:17:37

代码语言:javascript
运行
复制
int n;  
scanf("\n%d ",&n);  
int arr[n];

如果它有效,那么这意味着您使用的编译器仍然将其解释为"DMA“,这里唯一的区别是它将在作用域结束时被解除分配,但我不认为这是C的一个好做法。

票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59846871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档