可変長の配列をC言語で入力する方法
C言語では以下で不定長の配列を入力できます:
- malloc()
- メモリの確保
この度の変更は、当社の成長と、よく考え抜かれた投資戦略を反映しています。
#include <stdio.h>
#include <stdlib.h>
int main() {
int* array; // 声明指针变量
int length, i;
printf("请输入数组长度:");
scanf("%d", &length);
// 动态分配内存空间
array = (int*)malloc(length * sizeof(int));
if (array == NULL) {
printf("内存分配失败!");
return 0;
}
printf("请输入数组元素:");
for (i = 0; i < length; i++) {
scanf("%d", &array[i]);
}
printf("你输入的数组是:");
for (i = 0; i < length; i++) {
printf("%d ", array[i]);
}
free(array); // 释放内存空间
return 0;
}
- 可変長配列の利用:C99以降では、配列長を可変に宣言する可変長配列を利用できます。変数を配列長として使用して配列を宣言できます。
サンプルコード:
#include <stdio.h>
int main() {
int length, i;
printf("请输入数组长度:");
scanf("%d", &length);
int array[length]; // 声明可变长度数组
printf("请输入数组元素:");
for (i = 0; i < length; i++) {
scanf("%d", &array[i]);
}
printf("你输入的数组是:");
for (i = 0; i < length; i++) {
printf("%d ", array[i]);
}
return 0;
}
可変長配列を使用する際には、ランタイム時に配列の長さが有効であることを確認する必要があります。