我的c语言笔记---动态内存分配

来源:互联网 发布:淘宝手机端图片大小 编辑:程序博客网 时间:2024/04/23 17:02


需要加入头文件<stdlib.h>
//void *malloc(size_t size);

int main(void){  //main函数开辟在 栈 空间
   malloc(1000) ;  //在 堆 中开辟了一个1000字节的空间。

   char * p = malloc(1000); //可以通过返回的地址来找到,开辟空间的地址。
   p[0]; //第一个字节的空间
   p[1];//第二个字节的空间

   int * q= malloc(1000);
   q[0]; //第一个字节的空间
   q[1]; //第五个字节的空间
  

   堆空间开辟后,需要用free(q);来释放空间
free后空间才可以被其他的程序申请时使用。‘

栈空间是在编译的时候分配的空间。
堆空间是在运行时决定分配的空间。
   return 0;
}

开辟堆空间也可能出错。
0 0