#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);
}
|