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;
     ];
 }data;

 data*bob=NULL;
 bob=(data*)malloc(sizeof(data));
 if(bob!=NULL)
 {
     bob->age=;
     strcpy(bob->name,"Robert");
     printf("%sis%dyearsold\n",bob->name,bob->age);
 }
 else
 {
     printf("mallocerror!\n");
     exit(-);
 }
 free(bob);

 bob=NULL;

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

c语言内存分配-malloc的更多相关文章

  1. 关于c语言内存分配,malloc,free,和段错误,内存泄露

    1.   C语言的函数malloc和free (1) 函数malloc和free在头文件<stdlib.h>中的原型及参数        void * malloc(size_t size ...

  2. c语言中的内存分配malloc、alloca、calloc、malloc、free、realloc、sbr

    C语言跟内存分配方式 (1) 从静态存储区域分配.内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在.例如全局变量,static变量. (2) 在栈上创建.在执行函数时,函数内局部变 ...

  3. C语言内存分配函数malloc——————【Badboy】

    C语言中经常使用的内存分配函数有malloc.calloc和realloc等三个,当中.最经常使用的肯定是malloc,这里简单说一下这三者的差别和联系. 1.声明 这三个函数都在stdlib.h库文 ...

  4. C语言内存分配方法。

    当C程序运行在操作系统上时,操作系统会给每一个程序分配一定的栈空间. 堆为所有程序共有的,需要时需要申请访问. 一.栈 局部变量.函数一般在栈空间中. 运行时自动分配&自动回收:栈是自动管理的 ...

  5. 数据结构基础——指针及动态内存分配(malloc)

    一.指针 C语言中的指针是一种数据类型,比如说我们用int *a;就定义了一个指针a,它指向一个int类型的数.但是这个指针是未初始化的,所以,一般的,我们都在创建指针时初始化它,以免出错,在还不吃的 ...

  6. 【嵌入式开发】C语言 内存分配 地址 指针 数组 参数 实例解析

    . Android源码看的鸭梨大啊, 补一下C语言基础 ... . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/detai ...

  7. 图解Go语言内存分配

    目录 基础概念 内存管理单元 内存管理组件 mcache mcentral mheap 内存分配流程 总结 参考资料 Go语言内置运行时(就是runtime),抛弃了传统的内存分配方式,改为自主管理. ...

  8. 内存管理 垃圾回收 C语言内存分配 垃圾回收3大算法 引用计数3个缺点

    小结: 1.垃圾回收的本质:找到并回收不再被使用的内存空间: 2.标记清除方式和复制收集方式的对比: 3.复制收集方式的局部性优点: https://en.wikipedia.org/wiki/C_( ...

  9. [转]内存分配malloc, new , heapalloc

    malloc,new,VirtualAlloc,HeapAlloc性能(速度)比较 http://www.cppblog.com/woaidongmao/archive/2011/08/12/1531 ...

随机推荐

  1. jmeter随笔(8)--请求post的 数据为空

    1.请求post的 数据为空 分析:发现是java 解决方法: 查看 2.获取文本中数据乱码问题 问题:文本保存为UTF-8编码格式 获取的数据乱码: 分析:这是编码格式的问题 解决办法: 将文件保存 ...

  2. MCADEx Tools 6.3下载地址

    MCADEx Tools 6.3下载地址: http://pan.baidu.com/s/1pLxQPkR 修改参数批量设置工具为模型批量检查工具; 修改模型批量检查过滤工具; 修改工程图管理过滤工具 ...

  3. MSP430F149学习之路——按键与LED

    代码 /*********************************** 程序功能:用按键控制LED状态 缺点:按键按下后无法改变LED灯的状态,可以利用板上的复位键^~^ ********** ...

  4. No.002 Add Two Numbers

    Add Two Numbers Total Accepted: 160702 Total Submissions: 664770 Difficulty: Medium You are given tw ...

  5. RHEL7网卡设置

    1.改网卡名 先vim /etc/sysconfig/grub:GRUB_TIMEOUT=5GRUB_DEFAULT=savedGRUB_DISABLE_SUBMENU=trueGRUB_TERMIN ...

  6. struts2项目需要加入的jar包

    asm-3.3.jarasm-commons-3.3.jarasm-tree-3.3.jarcommons-fileupload-1.2.2.jarcommons-io-2.0.1.jarcommon ...

  7. vyatta的fork开源版本

    https://www.reddit.com/r/networking/comments/3dvwfy/who_here_is_using_vyos/ Vyatta came in two flavo ...

  8. linux 内存使用

    # df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 50G 1.9G 45G 5% / tmpfs 1.9G 0 1.9G 0% ...

  9. c++ boost--------------boost::progress_timer小试。

    //--------------------------------------------------------------------------- #include <vcl.h> ...

  10. hadoop 根据SecondaryNameNode恢复Namenode

    1.修改conf/core-site.xml 增加 <property> <name>fs.checkpoint.period</name> <value&g ...