C语言动态申请内存

动态内存:new出来的都是动态的,需要程序员手动创建和回收,但在java中有垃圾回收机制。

静态内存:定义出来都是静态的,int i;int j,系统自动创建和回收。

#include <stdio.h>
#include <malloc.h>//内存分配的头文件 
main(){
       int* p ;//在栈内存中申请p的空间
       //这个函数的返回值为void* 所以要把他强转 
       p = (int*)malloc(4); //在堆内存申请4个字节的空间
       *p = 123;
       printf("申请内存空间的值为%d\n",*p);
       //重新申请内存空间 
       p = realloc(p,8);
       //为新申请的内存地址进行赋值 
       *(p+1)=66666;
         printf("重新申请内存空间的值为%d\n",*(p+1));
       free(p);//释放p的内存空间
         system("pause");
       
       }

 

posted @ 2015-11-22 11:44  aaddrrooiidd  阅读(334)  评论(0编辑  收藏  举报