[C言語] printfで配列の値を表示する方法を解説
C言語で配列の値を表示するには、printf
関数を使用します。
配列の各要素を表示するためには、ループを用いて配列のインデックスを順に指定し、printf
のフォーマット指定子を使って出力します。
例えば、整数型の配列の場合、%d
を使用し、文字型の配列(文字列)の場合は%s
を使用します。
この方法により、配列の各要素を個別に表示することが可能です。
配列の値を表示する方法
配列の初期化と宣言
C言語で配列を使用するには、まず配列の宣言と初期化を行います。
以下に基本的な配列の宣言と初期化の例を示します。
#include <stdio.h>
int main() {
// 整数型の配列を宣言し、初期化
int numbers[5] = {10, 20, 30, 40, 50};
// 文字型の配列を宣言し、初期化
char letters[3] = {'A', 'B', 'C'};
return 0;
}
この例では、numbers
という名前の整数型の配列と、letters
という名前の文字型の配列を宣言し、それぞれ初期化しています。
printfで配列の要素を表示する
printf関数
を使って配列の要素を表示することができます。
以下に具体的な例を示します。
#include <stdio.h>
int main() {
int numbers[5] = {10, 20, 30, 40, 50};
// 配列の特定の要素を表示
printf("numbers[0] = %d\n", numbers[0]);
printf("numbers[1] = %d\n", numbers[1]);
return 0;
}
このコードでは、numbers
配列の0番目と1番目の要素を表示しています。
ループを使った配列の全要素表示
配列の全要素を表示するには、ループを使用するのが一般的です。
以下にfor
ループを使った例を示します。
#include <stdio.h>
int main() {
int numbers[5] = {10, 20, 30, 40, 50};
// ループを使って配列の全要素を表示
for (int i = 0; i < 5; i++) {
printf("numbers[%d] = %d\n", i, numbers[i]);
}
return 0;
}
この例では、for
ループを使ってnumbers
配列の全要素を順番に表示しています。
配列のサイズを取得する方法
配列のサイズを取得するには、sizeof
演算子を使用します。
以下にその方法を示します。
#include <stdio.h>
int main() {
int numbers[5] = {10, 20, 30, 40, 50};
// 配列のサイズを取得
int size = sizeof(numbers) / sizeof(numbers[0]);
printf("配列のサイズ: %d\n", size);
return 0;
}
このコードでは、sizeof
演算子を使って配列全体のバイト数を取得し、1つの要素のバイト数で割ることで配列の要素数を計算しています。
これにより、配列のサイズを動的に取得することができます。
文字列配列の表示
文字列配列の宣言と初期化
C言語で文字列を扱う場合、文字列は文字の配列として表現されます。
文字列配列を宣言し、初期化する方法を以下に示します。
#include <stdio.h>
int main() {
// 文字列配列の宣言と初期化
char *fruits[3] = {"Apple", "Banana", "Cherry"};
return 0;
}
この例では、fruits
という名前の文字列配列を宣言し、3つの文字列を初期化しています。
各要素は文字列へのポインタとして扱われます。
printfで文字列配列を表示する
printf関数
を使って文字列配列の要素を表示することができます。
以下に具体的な例を示します。
#include <stdio.h>
int main() {
char *fruits[3] = {"Apple", "Banana", "Cherry"};
// 配列の特定の要素を表示
printf("fruits[0] = %s\n", fruits[0]);
printf("fruits[1] = %s\n", fruits[1]);
return 0;
}
このコードでは、fruits
配列の0番目と1番目の要素を表示しています。
%s
フォーマット指定子を使用して文字列を表示します。
文字列配列の全要素をループで表示
文字列配列の全要素を表示するには、ループを使用するのが一般的です。
以下にfor
ループを使った例を示します。
#include <stdio.h>
int main() {
char *fruits[3] = {"Apple", "Banana", "Cherry"};
// ループを使って配列の全要素を表示
for (int i = 0; i < 3; i++) {
printf("fruits[%d] = %s\n", i, fruits[i]);
}
return 0;
}
この例では、for
ループを使ってfruits
配列の全要素を順番に表示しています。
ループを使用することで、配列の要素数が増えても簡単に全要素を表示することができます。
多次元配列の表示
多次元配列の基本
多次元配列は、配列の中に配列を持つ構造で、特に2次元配列は行列のようにデータを格納するのに便利です。
以下に2次元配列の宣言と初期化の例を示します。
#include <stdio.h>
int main() {
// 2次元配列の宣言と初期化
int matrix[2][3] = {
{1, 2, 3},
{4, 5, 6}
};
return 0;
}
この例では、matrix
という名前の2次元配列を宣言し、2行3列の整数を初期化しています。
printfで多次元配列の要素を表示する
printf関数
を使って多次元配列の特定の要素を表示することができます。
以下に具体的な例を示します。
#include <stdio.h>
int main() {
int matrix[2][3] = {
{1, 2, 3},
{4, 5, 6}
};
// 多次元配列の特定の要素を表示
printf("matrix[0][0] = %d\n", matrix[0][0]);
printf("matrix[1][2] = %d\n", matrix[1][2]);
return 0;
}
このコードでは、matrix
配列の(0,0)と(1,2)の要素を表示しています。
ループを使った多次元配列の全要素表示
多次元配列の全要素を表示するには、ネストされたループを使用します。
以下にfor
ループを使った例を示します。
#include <stdio.h>
int main() {
int matrix[2][3] = {
{1, 2, 3},
{4, 5, 6}
};
// ループを使って多次元配列の全要素を表示
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
printf("matrix[%d][%d] = %d\n", i, j, matrix[i][j]);
}
}
return 0;
}
この例では、外側のfor
ループで行を、内側のfor
ループで列を走査し、matrix
配列の全要素を順番に表示しています。
ネストされたループを使用することで、任意の次元の配列を効率的に処理することができます。
応用例
配列の要素をフォーマットして表示する
配列の要素をフォーマットして表示することで、見やすく整形された出力を得ることができます。
以下に、数値をフォーマットして表示する例を示します。
#include <stdio.h>
int main() {
int numbers[5] = {10, 20, 30, 40, 50};
// 配列の要素をフォーマットして表示
for (int i = 0; i < 5; i++) {
printf("Element %d: %04d\n", i, numbers[i]);
}
return 0;
}
この例では、各要素を4桁のゼロパディングで表示しています。
%04d
を使用することで、数値が4桁になるようにゼロで埋められます。
配列の一部を表示する方法
配列の一部だけを表示したい場合、特定の範囲を指定して表示することができます。
以下にその方法を示します。
#include <stdio.h>
int main() {
int numbers[5] = {10, 20, 30, 40, 50};
// 配列の一部を表示
for (int i = 1; i < 4; i++) {
printf("numbers[%d] = %d\n", i, numbers[i]);
}
return 0;
}
このコードでは、numbers
配列の1番目から3番目の要素を表示しています。
配列の要素を逆順に表示する
配列の要素を逆順に表示するには、ループのインデックスを逆に設定します。
以下にその例を示します。
#include <stdio.h>
int main() {
int numbers[5] = {10, 20, 30, 40, 50};
// 配列の要素を逆順に表示
for (int i = 4; i >= 0; i--) {
printf("numbers[%d] = %d\n", i, numbers[i]);
}
return 0;
}
この例では、for
ループのインデックスを4から0に減少させることで、numbers
配列の要素を逆順に表示しています。
配列の要素を条件付きで表示する
配列の要素を条件付きで表示するには、if
文を使用して条件を指定します。
以下にその例を示します。
#include <stdio.h>
int main() {
int numbers[5] = {10, 20, 30, 40, 50};
// 配列の要素を条件付きで表示
for (int i = 0; i < 5; i++) {
if (numbers[i] > 25) {
printf("numbers[%d] = %d\n", i, numbers[i]);
}
}
return 0;
}
このコードでは、numbers
配列の要素のうち、25より大きい要素のみを表示しています。
条件を変更することで、さまざまなフィルタリングが可能です。
まとめ
配列の表示方法について、基本から応用まで幅広く学ぶことができました。
配列の初期化、要素の表示、フォーマット、条件付き表示など、さまざまなテクニックを理解することで、C言語での配列操作がより効率的になります。
この記事を参考に、実際のプログラムで配列を活用してみてください。