当前位置 : 主页 > 编程语言 > c语言 >

C: Course3

来源:互联网 收集:自由互联 发布时间:2023-09-07
利用melloc函数实现动态内存分配 注:需要和free()函数搭配使用 导入头文件 #includestdlib.h malloc的参数: void* malloc(size_t size);//返回值是一个待定的指针类型,根据你所要开辟的内存的类型来进

利用melloc函数实现动态内存分配

注:需要和free()函数搭配使用

导入头文件

#include<stdlib.h>

malloc的参数:

void* malloc(size_t size);
//返回值是一个待定的指针类型,根据你所要开辟的内存的类型来进行强制转型
//()里面的是开辟空间的大小
//size_t 是无符号整型的意思

例:

#include<stdio.h>
#include<stdlib.h>

int main()
{
  int* p = (int*)malloc(10 * sizeof(int));
  //开辟一个10个int型大小的空间 
  //并将开辟出来的空间交给一个新的指针来指示 
  if(p == NULL)//可能存在开辟失败的情况 (如内存不够开了)
  {
	printf("动态内存开辟失败\n");
  }
  else
  {
  	//可以开始使用这块内存了,如:
		int i = 0;
		for(i; i < 10; i++)
		{
			*(p + i) = i;
		} 
  }
  //当动态内存开辟的空间不再使用时,需要利用free()将空间释放
  free(p);//情况地址指向的空间
  //此时只是把动态开辟出来的空间使用权还给系统
  //p的值还是没有改变
  p = NULL;//将P所指向的地址赋为NULL,这时候才算整个操作流程结束
  //虽然在程序的运行生命周期之后,系统会被动的情况动态分配的空间,
  //但是人为提前的释放有利于系统的空间利用
  return 0;
}


上一篇:c++基础入门2
下一篇:没有了
网友评论