1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > C语言创建动态数组

C语言创建动态数组

时间:2020-05-12 23:13:42

相关推荐

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语言库中的功能介绍参考链接: /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。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。