C语言高级教程-C语言数组(六):变长数组

本文详细介绍了C语言中的变长数组,包括一维和二维数组在程序执行期间如何确定长度。通过实例展示了如何读取用户输入来定义数组大小,并提供了完整的程序代码。重点讲解了使用%zd格式化字符串处理变长数组长度的问题,以及变长数组定义和使用的注意事项。
摘要由CSDN通过智能技术生成

在这里插入图片描述

一、本文的编译环境

本文的编译环境使用的是集成开发环境:Visual Studio 2019
在这里插入图片描述

Visual Studio 2019官网链接如下

Visual Studio 2019官网链接
在这里插入图片描述

Visual Studio 2019集成的开发环境的特点有

  • Visual Studio 2019默认安装Live Share代码协作服务。
  • 帮助用户快速编写代码的新欢迎窗口、改进搜索功能、总体性能改进。
  • Visual Studio IntelliCode AI帮助。
  • 更好的Python虚拟和Conda支持。
  • 以及对包括WinForms和WPF在内的.NET Core 3.0项目支持等 。

前面文章的所有数组都在代码中指定了固定的长度。也可以定义其长度在程序运行期间确定的数组。下面是一个示例:

二、一维数组在执行期间确定长度

size_t size = 0;
printf ("Enter the number of elements you want to store: ") ;
scanf ("%zd", &size) ;
float values[size] ;
  • 在这段代码中,把从键盘上读取的一一个值放在size中。接着使用size的值指定数组array的长度。
  • 因为size_t是用实现代码定义的整数类型,所以如果尝试使用%d读取这个值,就会得到一个编译错误。
  • %zd中的z告诉编译器,它应用于size_t, 所以无论整数类型size_t是什么,编译器都会使说明符适用于读取操作。

三、二维数组在执行期间确定长度

还可以在执行期间确定二维或多维数组中的任意维或所有维。

例如:

size_ t rows = 0;
size t columns = 0;
printf ("Enter the number of rows you want to store: ") ;
scanf ("%zd"&rows) ;
printf ("Enter the number of columns in a row: ") ;
scanf ("%zd"&columns) ;
float beans [ rows] [columns] ;
  • 这里从键盘读取二维数组中的两个维。
  • 这两个数组维都在执行期间确定。

四、一维变长数组实例

一维变长数组实例如下所示

  • 在下面的程序中,一维变长数组是可以用的。
	size_t nGrades = 10;                    // Number of grades
    printf("Enter the number of grades: ");
    scanf("%zd", &nGrades);

    int grades[nGrades]</
  • 25
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 31
    评论
评论 31
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程爱好者-阿新

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值