数据结构与算法(五)

malloc函数动态内存分配和释放

#include <stdio.h>
#include <malloc.h>

int main(void)
{
	int a[5] = {1,2,3,4,5};//静态内存分配
	int len;
	printf("请输入数组的长度:len = ");
	scanf("%d",&len);
	int * b = (int *)malloc(sizeof(int)*len);//malloc函数向操作系统请求sizeof(int)*len这么大的内存空间,操作系统返回给它这块内存空间的首个字节的地址,所以需要用指针变量来接受malloc函数的返回值,int *代表这块内存空间每个元素所占字节数。
	for (int i = 0;i<len;i++)
		//scanf("%d",(b+i));
		scanf("%d",&b[i]);
	for (i = 0;i<len;i++)
		printf("%d\n",*(b+i));
	free(b);
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_38530606/article/details/86084635