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.示例
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25#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("%drn",*(arry+i));//使用指针引导数据 //printf("%drn",arry[i]); } free(arry);//不使用数组后,利用void free (void* ptr)函数释放动态数组存储区 }
运行结果图片
注:使用KEIL编写malloc分配内存的程序时,需要进行以下步骤:
1.添加头文件 stdlib.h
复制代码
1
2#include "stdlib.h"
2.勾选如下图中的Use MicroLIB。
最后
以上就是活泼天空最近收集整理的关于C语言创建动态数组C语言创建动态数组的全部内容,更多相关C语言创建动态数组C语言创建动态数组内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复