您的位置:首页 > 编程语言 > C语言/C++

c语言内存分配-malloc

2016-06-02 23:05 274 查看
malloc

原型:(原来返回类型是char)

extern void *malloc(unsigned int num_bytes);


头文件:

#include <stdlib.h>
#include <malloc.h>


函数声明:

void *malloc(size_t size);


返回值:

  分配成功:返回被分配内存的指针

  失败:返回NULL

  不再使用时,可用free()函数释放内存

使用:

int *p,*s;
p=(int*)malloc(sizeof(int));/*(int*)指的是p的类型,sizeof(int)表示分配给p的内存大小*/
3 s=(int*)malloc(sizeof(int)*100);//分配可以放得下100个整数的内存空间


正常的程序例子(摘抄自百度百科)

typedef struct data_type{
int age;
char name[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;


更多内容希望可以和朋友们交流!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: