malloc函数在什么时候用

2025-04-15 14:57:53
推荐回答(5个)
回答1:

可以直接用的啊,但是又些时候,我们的一个表中,到底有多少个成员我们是不知道的,这时候,就可以利用这个函数来分配空间,将得到的成员加入到表中,这样就不会有因为有多余的空间而浪费了内存空间,或者因为少定义了成员数,而无法加入新的成员,。。很方便的,一般它是很结构体一起使用的,用于建立动态的数据表。。。很有用的,慢慢体会吧。。

回答2:

一般来说,结构体定义的变量可以直接用,但是指针变量一般还是要用malloc申请内存空间,还有就是用来动态分配内存空间

回答3:

  当无法知道内存具体位置的时候,想要绑定真正的内存空间,就需要用到动态的分配内存,即malloc函数。
  malloc函数原型:extern void *malloc(unsigned int num_bytes);
  头文件:#include
  功能:分配长度为num_bytes字节的内存块
  返回值:如果分配成功则返回指向被分配内存的指针(此存储区中的初始值不确定),否则返回空指针NULL。当内存不再使用时,应使用free()函数将内存块释放。函数返回的指针一定要适当对齐,使其可以用于任何数据对象。
  说明:关于该函数的原型,在以前malloc返回的是char型指针,新的ANSIC标准规定,该函数返回为void型指针,因此必要时要进行类型转换。
  程序示例:
  
  typedef struct data_type{

  intage;

  charname[20];

  }data;

  data*bob=NULL;

  bob=(data*)malloc(sizeof(data));

  if(bob!=NULL)
  {

  bob->age=22;

  strcpy(bob->name,"Robert");

  printf("%sis%dyearsold\n",bob->name,bob->age);

  }

  else

  {

  printf("mallocerror!\n");

  exit(-1);

  }

  free(bob);

  bob=NULL;

回答4:

malloc用来根据需要,动态分配内存空间。

回答5:

指针初始化时使用,用完释放。