博客
关于我
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/

你可能感兴趣的文章