本文共 1445 字,大约阅读时间需要 4 分钟。
一、本文的编译环境
本文使用Visual Studio 2019编写,以下是其主要特点:
二、一维数组在执行期间确定长度
如需在程序运行时确定一维数组的长度,可采用以下方式:
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/