この章では、C の 「配列」を説明します。
#include <stdio.h>
#define ELEM 4
int main()
{
/* 数値配列 */
int number[] = {100, 200, 300, 400};
printf("------------------------------\n");
for (int i=0; i < ELEM; i++)
{
printf("%d\t", number[i]);
}
printf("\n");
printf("------------------------------\n");
/* 文字列配列 */
char word[ELEM][100];
for (int i=0; i < ELEM; i++)
{
printf("Enter word: ");
scanf("%s", word[i]);
}
printf("------------------------------\n");
for (int i=0; i < ELEM; i++)
{
printf("%s\t", word[i]);
}
printf("\n");
printf("------------------------------\n");
return 0;
}
------------------------------
100 200 300 400
------------------------------
Enter word: Jane
Enter word: Mary
Enter word: Bob
Enter word: Tom
------------------------------
Jane Mary Bob Tom
------------------------------
#include <stdio.h>
int main()
{
int nums [] = {100, 200, 300, 400};
char chars[] = {'H', 'e', 'l', 'l', 'o'};
char count;
count = sizeof nums / sizeof nums[0];
printf("count is %d.\n", count);
for (int i = 0; i < count; i++)
{
printf("%d\t", nums[i]);
}
printf("\n");
count = sizeof chars / sizeof chars[0];
printf("count is %d.\n", count);
for (int i = 0; i < count; i++)
{
printf("%c\t", chars[i]);
}
printf("\n");
for (int i = 0; i < count; i++)
{
printf("%c", chars[i]);
}
printf("\n");
return 0;
}
count is 4.
100 200 300 400
count is 5.
H e l l o
Hello
#include <stdio.h>
int main()
{
int array[][4] = {{1, 2, 3}, {10, 20, 30}, {100, 200, 300}};
int row = sizeof array / sizeof array[0];
int col = sizeof array[0] / sizeof array[0][0];
printf("row:%d col:%d\n", row, col);
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
printf("%3d\t", array[i][j]);
}
puts("");
}
return 0;
}
row:3 col:4
1 2 3 0
10 20 30 0
100 200 300 0
100 200 300 0
2つ目の [ ] の要素数の記述が、実際の要素数よりも大きかった場合は、
自動的に 0 で初期化された要素が作られます。