找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2521|回复: 1
打印 上一主题 下一主题
收起左侧

malloc使用方法

[复制链接]
跳转到指定楼层
楼主
ID:51090 发表于 2014-9-17 14:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include"stdio.h" #include"malloc.h"//malloc()函数被包含在malloc.h里面  //不能省
int main (void)
{
int i = 5; //分配了四个字节,静态分配
int * p = (int*)malloc(100);//表示整形变量的地址。形参只有一个,只可以写一个括号内
  
free(p); //表示把p所指向的内存给释放掉,p本身所占的内存是静态分配的,不能进行手动释放,只能在函数运行终止时候进行释放
return 0;
}


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:51090 发表于 2014-9-17 14:29 | 只看该作者


#include"stdio.h"
#include"malloc.h"//malloc()函数被包含在malloc.h里面  //不能省

void f(int * q)
{
//*p = 200;   没有定义p变量

*q = 200;
free(q); //error  这里的free表示对内存进行了释放,下面的printf里面仍是*p。*p表示的是个内存
}

int main (void)
{
int * p = (int *)malloc(sizeof (int)); //p里面存放的是malloc函数的首个地址
* p = 10;

printf ("%d\n",*p);
f(p);
printf ("%d\n",*p);

}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表