找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3041|回復(fù): 1
收起左側(cè)

malloc使用方法

[復(fù)制鏈接]
ID:51090 發(fā)表于 2014-9-17 14:29 | 顯示全部樓層 |閱讀模式
#include"stdio.h" #include"malloc.h"//malloc()函數(shù)被包含在malloc.h里面  //不能省
int main (void)
{
int i = 5; //分配了四個字節(jié),靜態(tài)分配
int * p = (int*)malloc(100);//表示整形變量的地址。形參只有一個,只可以寫一個括號內(nèi)
  
free(p); //表示把p所指向的內(nèi)存給釋放掉,p本身所占的內(nèi)存是靜態(tài)分配的,不能進(jìn)行手動釋放,只能在函數(shù)運(yùn)行終止時候進(jìn)行釋放
return 0;
}


回復(fù)

使用道具 舉報

ID:51090 發(fā)表于 2014-9-17 14:29 | 顯示全部樓層


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

void f(int * q)
{
//*p = 200;   沒有定義p變量

*q = 200;
free(q); //error  這里的free表示對內(nèi)存進(jìn)行了釋放,下面的printf里面仍是*p。*p表示的是個內(nèi)存
}

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

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

}
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表