c - 使用 "new"命令在 C 中动态数组

标签 c arrays memory

我们的老师告诉我们,我们可以使用以下代码在 C 中(不是 C++)创建动态数组:

int main()
{
 int n;
 scanf("%d" , &n);
 float* x =new float[n];
 return 0;
}

最佳答案

要么你的老师不正确,要么你误解了——那不是有效的 C 代码。

从 1999 版本的 C 开始,您可以创建一个可变长度数组,如下所示:

int n;
scanf( “%d”, &n );
float x[n];

或者您可以使用malloccallocrealloc动态分配内存:

int n;
scanf( “%d”, &n);
float *x = malloc( n * sizeof *x );

但 C 中没有 new 运算符。

关于c - 使用 "new"命令在 C 中动态数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59125107/

相关文章:

c++ - 找到其他节点的最快方法

javascript - 如何检查数组中的对象是否具有参数 ID 中存在的 ID 属性?

arrays - 查询 MongoDB 中的整个对象数组

c - 如何通过fread函数读取char*字符串?

c - 使用管道在子进程上执行 wc 命令

c - 处理 C 中的结构

c - 使用运算符 "? :"作为 int 值的结果是什么

ruby-on-rails - Ruby 将两个数组合并为一个

Java HashMap内部存储在不同的桶中

iphone - 使用可达性的大内存泄漏