malloc
原型:(原来返回类型是char)
1 extern void *malloc(unsigned int num_bytes);
头文件:
1 #include <stdlib.h> 2 #include <malloc.h>
函数声明:
void *malloc(size_t size);
返回值:
分配成功:返回被分配内存的指针
失败:返回NULL
不再使用时,可用free()函数释放内存
使用:
1 int *p,*s; 2 p=(int*)malloc(sizeof(int));/*(int*)指的是p的类型,sizeof(int)表示分配给p的内存大小*/3 s=(int*)malloc(sizeof(int)*100);//分配可以放得下100个整数的内存空间
正常的程序例子(摘抄自百度百科)
1 typedef struct data_type{ 2 int age; 3 char name[20]; 4 }data; 5 6 data*bob=NULL; 7 bob=(data*)malloc(sizeof(data)); 8 if(bob!=NULL) 9 { 10 bob->age=22; 11 strcpy(bob->name,"Robert"); 12 printf("%sis%dyearsold\n",bob->name,bob->age); 13 } 14 else 15 { 16 printf("mallocerror!\n"); 17 exit(-1); 18 } 19 free(bob); 20 21 bob=NULL;
更多内容希望可以和朋友们交流!
时间: 2024-10-03 17:10:48