C动态分配内存

来源:互联网 发布:ubuntu 传输文件 编辑:程序博客网 时间:2024/06/05 18:25

int *p = malloc(100);//在堆上申请100字节 malloc linux会初始为0 //memset()函数可以初始化指定值

....


//p++;  //p地址改变,free(p)错误

free(p);//如果没有释放p,会造成内存泄露


realloc() 当申请的空间不够时,用realloc 有两种策略:

1.当指定位置后面的空间足够大时,就有后面延伸。

2.当指定位置后面的空间不够用时,会另外找足够可用的位置开辟,并将原地址的内容进行复制到新地址。(这种系统开销大)