博客
关于我
2024年大数据最全C语言高级教程-C语言数组(六):变长数组_c语言变长数组,2024年最新2024大厂大数据开发知识点总结
阅读量:798 次
发布时间:2023-04-17

本文共 1445 字,大约阅读时间需要 4 分钟。

C语言高级教程:变长数组

一、本文的编译环境

本文使用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确定数组values的长度。
  • 注意:size_t是C语言中用于32位或64位整数的标准类型,%zd格式说明符用于读取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];
  • 读取行和列的数量。
  • 使用这些值确定二维数组beans的大小。
  • 该方法适用于多维数组的任意维度确定。

四、一维变长数组实例

以下是关于一维变长数组的示例程序:

size_t nGrades = 10;printf("Enter the number of grades: ");scanf("%zd", &nGrades);int grades[nGrades];long sum = 0L;float average = 0.0f;printf("Enter the %u grades:\n", nGrades);for (size_t i = 0; i < nGrades; ++i) {    printf("%2zd > ", i + 1);    scanf("%d", &grades[i]);    sum += grades[i];}printf("The grades you entered are:\n");for (size_t i = 0; i < nGrades; ++i) {    printf("Grade[%2zd] = %3d ", i + 1, grades[i]);    if ((i + 1) % 5 == 0) {        printf("\n");    }}average = (float)sum / nGrades;printf("Average of the %zd grades entered is: %.2f\n", nGrades, average);
  • 读取输入的分数数量nGrades
  • 根据nGrades分配内存。
  • 读取并存储分数,计算平均值。
  • 输出分数列表和平均值。

转载地址:http://rxgfk.baihongyu.com/

你可能感兴趣的文章
Mysql InnoDB存储引擎中的checkpoint技术
查看>>
Mysql InnoDB存储引擎中缓冲池Buffer Pool、Redo Log、Bin Log、Undo Log、Channge Buffer
查看>>
MySQL InnoDB引擎的锁机制详解
查看>>
Mysql INNODB引擎行锁的3种算法 Record Lock Next-Key Lock Grap Lock
查看>>
mysql InnoDB数据存储引擎 的B+树索引原理
查看>>
mysql innodb通过使用mvcc来实现可重复读
查看>>
mysql interval显示条件值_MySQL INTERVAL关键字可以使用哪些不同的单位值?
查看>>
Mysql join原理
查看>>
mysql order by多个字段排序
查看>>
MySQL Order By实现原理分析和Filesort优化
查看>>
mysql problems
查看>>
mysql replace first,MySQL中处理各种重复的一些方法
查看>>
MySQL replace函数替换字符串语句的用法(mysql字符串替换)
查看>>
Mysql Row_Format 参数讲解
查看>>
mysql select, from ,join ,on ,where groupby,having ,order by limit的执行顺序和书写顺序
查看>>
MySQL Server 5.5安装记录
查看>>
mysql slave 停了_slave 停止。求解决方法
查看>>
MySQL SQL 优化指南:主键、ORDER BY、GROUP BY 和 UPDATE 优化详解
查看>>
mysql sum 没返回,如果没有找到任何值,我如何在MySQL中获得SUM函数以返回'0'?
查看>>
mysql Timestamp时间隔了8小时
查看>>