C语言 您所在的位置:网站首页 c语言一维数组怎么定义 C语言

C语言

2024-03-19 15:35| 来源: 网络整理| 查看: 265

C语言文章更新目录

C语言学习资源汇总,史上最全面总结,没有之一 C/C++学习资源(百度云盘链接) 计算机二级资料(过级专用) C语言学习路线(从入门到实战) 编写C语言程序的7个步骤和编程机制 C语言基础-第一个C程序 C语言基础-简单程序分析 VS2019编写简单的C程序示例 简单示例,VS2019调试C语言程序 C语言基础-基本算法 C语言基础-数据类型 C语言中的输入输出函数 C语言流程控制语句 C语言数组——一维数组 C语言数组——二维数组 C语言数组——字符数组 C语言中常用的6个字符串处理函数 精心收集了60个C语言项目源码,分享给大家 C语言核心技术——函数 C代码是怎样跑起来的? C语言实现字符串的加密和解密 C语言——文件的基本操作 使用C语言链表创建学生信息并且将信息打印输出 图解C语言冒泡排序算法,含代码分析 实例分析C语言中strlen和sizeof的区别 开发C语言的3款神器,VS2019、VScode和IntelliJ Clion 动图图解C语言选择排序算法,含代码分析 动图图解C语言插入排序算法,含代码分析 C语言指针数组和数组指针详解 5分钟搞懂C语言中的传值和传址

C语言实例专栏(持续更新中…)

什么是动态数组?

动态数组是相对于静态数组而言的,从“动”字可以看出它的灵活性。静态数组的长度是预先定义好的,在整个程序中,一旦给定数组大小后就无法改变。而动态数组则不然,它可以根据程序需要重新指定数组大小。动态数组的内存空间是由堆动态分配的,通过执行代码为其分配存储空间,只有程序执行到分配语句时,才为其分配存储空间。

动态数组和一般数组(静态数组)的区别 静态数组:创建非常方便,使用完也无需释放,引用起来也简单,但是创建后无法改变数组大小是其致命的弱点。动态数组:创建麻烦,使用完必须由程序员自己释放,否则会引起内存泄露,但是其使用非常灵活,能根据程序需要动态分配大小。 动态数组的创建和使用

在创建动态数组的过程中要遵循一个原则,那就是从外层向里层逐层创建,从里层向外层逐层释放。如果要创建一个N维的动态数组,那么要从第一维开始创建,直到第N维为止;而释放时与创建时相反,即从第N维开始释放,直到第一维为止。下面我们一起来看看一维动态数组和二维动态数组。

一维动态数组 创建形式

类型说明符* 数组名 = (类型说明符*)malloc(数组长度*sizeof(类型说明符))

实例 // // Created by 冲哥 on 2022/11/26. // 微信关注【C语言中文社区】,免费领取500G学习资料 // #include #include int main() { int n; //用来接收要创建的一维动态数组的长度 int *arr; printf("请输入所要创建的一维动态数组的长度:"); scanf("%d", &n); if ((arr = (int *) malloc(sizeof(int) * n)) == NULL) { //使用malloc来动态分配内存 printf("分配内存空间失败!\n");//如果内存分配失败,报错异常退出 return -1; } for (int i = 0; i 数组名[i]=(类型说明符*)malloc(第二维长度*sizeof(类型说明符)) } 实例 // // Created by 冲哥 on 2022/11/26. // 微信关注【C语言中文社区】,免费领取500G学习资料 // #include #include int main() { int n1, n2; int **arr; printf("请输入所要创建的动态数组的第一维长度:"); scanf("%d", &n1); printf("请输入所要创建的动态数组的第二维长度:"); scanf("%d", &n2); if ((arr = (int **) malloc(n1 * sizeof(int *))) == NULL)//使用malloc给第一维分配内存 { printf("分配内存空间失败!\n");//如果内存分配失败,报错异常退出 return -1; } for (int i = 0; i printf("分配内存空间失败!\n");//如果内存分配失败,报错异常退出 return -1; } } for (int i = 0; i arr[i][j] = i * n2 + j + 1; printf("%d\t", arr[i][j]); } printf("\n"); } for (int i = 0; i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有