码迷,mamicode.com
首页 > 编程语言 > 详细

c语言内存分配-malloc

时间:2016-06-02 23:45:46      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:

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;

更多内容希望可以和朋友们交流!

c语言内存分配-malloc

标签:

原文地址:http://www.cnblogs.com/moyan01/p/5554734.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!