栈区
堆区 运行时分配
bss段
数据段
代码段 编译器分配
分配内存函数:malloc/calloc/realloc/free
int *p;
p=(int *)malloc(sizeof(int));
if(p!=NULL)
{……}else{“打印出错信息"}
~~~~~~~~~~~~~~
int *p=(int *)malloc(4*sizeof(int));
if(p!=NULL){
*p=..;
*(p+1)=..;
}
~~~~~~~~~~~~~~
p=realloc(p,4*sizeof(int)); //变为分配40个字节,首地址p不变
if(p!=NULL){..};
~~~~~~~~~~~~~~
free(p); //释放后是个野指针.
p=NULL;
*p=100; |
|