相关疑难解决方法(0)

何时以及为何使用malloc?

好吧,我无法理解何时以及为什么需要使用分配内存malloc.

这是我的代码:

#include <stdlib.h>

int main(int argc, const char *argv[]) {

  typedef struct {
    char *name;
    char *sex;
    int age;
  } student;


  //Now I can do two things
  student p;

  //or
  student *ptr = (student *)malloc(sizeof(student));

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

为什么我可以使用时需要分配内存student p;

c malloc dynamic-memory-allocation

51
推荐指数
5
解决办法
5万
查看次数

可变长度与Malloc-ed数组

根据c99标准,我们可以编写以下代码,这是完全合法的

int x;
scanf("%d",&x);
int ar[x];
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果我可以分配这样的数组,为什么我需要malloc再次分配可变大小的数组?

另外,请您解释一下可变长度数组的分配情况如何?内心深处,是否调用malloc来分配数组或者是什么?

c arrays

8
推荐指数
2
解决办法
1672
查看次数

我什么时候应该在C中使用malloc?

可能重复:
我什么时候应该在C中使用malloc,什么时候不使用?

嗨,我是C语言的新手,发现了malloc功能.我应该什么时候使用它?在我的工作中,有人说你必须在这种情况下使用malloc,但是其他人说在这种情况下你不需要使用它.所以我的问题是:我什么时候应该使用malloc?这对你来说可能是一个愚蠢的问题,但对于一个不熟悉C的程序员来说,这很令人困惑!

c malloc

6
推荐指数
3
解决办法
3万
查看次数

标签 统计

c ×3

malloc ×2

arrays ×1

dynamic-memory-allocation ×1