2024年大数据最全C语言高级教程-C语言数组(六):变长数组_c语言变长数组,2024年最新2024大厂大数据开发知识点总结
发布日期:2025-06-20 11:35:09
浏览次数:9
分类:精选文章
本文共 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分配内存。 - 读取并存储分数,计算平均值。
- 输出分数列表和平均值。
发表评论
最新留言
感谢大佬
[***.8.128.20]2026年06月16日 11时56分51秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!