C语言创建动态数组

C语言创建动态数组

1.编写步骤

1. 添加所需头文件

stdlib.h

该头文件下包含的与分配存储区相关的函数如下:
void* malloc (size_t size);//从堆中分配size字节的存储空间
void* calloc (size_t num, size_t size);//分配数组并将数组零初始化。为 num 个元素的数组分配一块内存,每个元素的大小为字节长,并将其所有位初始化为零。
void* realloc (void* ptr, size_t size);//重新分配内存块,更改 ptr 指向的内存块的大小
void free (void* ptr);//释放分配的存储空间

相关函数在C语言库中的功能介绍参考链接: http://www.cplusplus.com/reference/cstdlib/.

2. 创建对应类型指针

int *arry;

3. 使用void* malloc (size_t size)函数分配数组地址空间

注: 地址空间大小,以字节为单位
int size=5;
arry=(int * )malloc(size * sizeof(int));
//创建5个int类型的数据空间并返回空间首地址,地址大小为5*4=20字节

4. 使用void free (void* ptr)函数释放动态地址空间

free(arry);
使用完动态数组以后应释放地址空间,以免占用。

2.示例

#include <stdio.h>
#include <stdlib.h>//分配动态数组地址空间所需头文件
void main()
{
	int i;
	int size;
	int *arry;
	printf("输入数组长度:");
	scanf("%d",&size);
	arry=(int *)malloc(size*sizeof(int));
	//利用void* malloc (size_t size)函数分配数组地址空间大小,以字节为单位

	for(i=0;i<size;i++)
	{
		arry[i]=i;
		//*(arry+i)=i;//指针型数据指引
	}
	for(i=0;i<size;i++)
	{
		printf("%d\r\n",*(arry+i));//使用指针引导数据
		//printf("%d\r\n",arry[i]);
	}
	free(arry);//不使用数组后,利用void free (void* ptr)函数释放动态数组存储区
}

运行结果图片
在这里插入图片描述

注:使用KEIL编写malloc分配内存的程序时,需要进行以下步骤:
1.添加头文件 stdlib.h

#include "stdlib.h"

2.勾选如下图中的Use MicroLIB。
在这里插入图片描述

  • 19
    点赞
  • 117
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值