はじめに
C 言語のプログラミングでは、ポインタの配列は、各要素が int、char、float などの他のデータ型へのポインタである配列です。この実験では、整数型ポインタの配列と文字型ポインタの配列にアクセスする方法を学びます。
C 言語のプログラミングでは、ポインタの配列は、各要素が int、char、float などの他のデータ型へのポインタである配列です。この実験では、整数型ポインタの配列と文字型ポインタの配列にアクセスする方法を学びます。
このステップでは、整数型ポインタの配列にアクセスします。~/project/
ディレクトリ内の main.c
ファイルを開き、次のコードを貼り付けます。
#include <stdio.h>
// Global declaration.
const int MAX = 5;
int main() {
printf("\n\n\t\t==== Array of Integer Pointers ====\n\n\n");
int var[] = {10, 20, 30, 40, 50}; // 整数型ポインタの配列(ここではvar)を初期化
int i = 0;
/*
ptrは整数型ポインタの配列です。つまり、
各配列要素のアドレスを格納します
*/
int *ptr[MAX];
for(i = 0; i < MAX; i++) {
/*
各配列要素のアドレスをptr配列に割り当てます
*/
ptr[i] = &var[i];
}
for(i = 0; i < MAX; i++) {
/*
ptr[i]は要素var[i]のアドレスを格納しています。
したがって、*ptr[i]はptr[i]の位置に格納されている要素の値を返します
*/
printf("Value of var[%d] = %i\n\n", i, *ptr[i]);
}
printf("\n\n\t\t==== End of Program ====\n\n\n");
return 0;
}
このプログラムは、整数型ポインタの配列を初期化し、各配列要素のアドレスをポインタ配列に割り当てます。その後、ポインタ配列を使用して各要素の値を表示します。
このステップでは、文字型ポインタの配列にアクセスします。前のステップのコードの後に次のコードを貼り付けます。
#include <stdio.h>
// Global declaration.
const int MAX = 4;
int main() {
printf("\n\n\t\t==== Array of Character Pointers ====\n\n\n");
char *names[] = {"Google", "Amazon", "Facebook", "Apple"}; // 文字型ポインタの配列(ここではnames)を初期化
int i = 0;
for(i = 0; i < MAX; i++) {
printf("Value of names[%d] = %s\n\n", i, names[i]);
}
printf("\n\n\t\t==== End of Program ====\n\n\n");
return 0;
}
このプログラムは、文字型ポインタの配列を初期化し、各文字列の最初の文字のアドレスをポインタ配列に割り当てます。その後、ポインタ配列を使用して各要素の完全な名前を表示します。
このステップでは、プログラムをコンパイルして実行します。ターミナルを開き、~/project/
ディレクトリに移動します。プログラムをコンパイルするには、次のコマンドを入力します。
gcc main.c -o main
正常にコンパイルされた後、プログラムを実行するには、次のコマンドを入力します。
./main
このコマンドにより、プログラムが実行され、ターミナルに出力が表示されます。
==== Array of Integer Pointers ====
Value of var[0] = 10
Value of var[1] = 20
Value of var[2] = 30
Value of var[3] = 40
Value of var[4] = 50
==== Array of Character Pointers ====
Value of names[0] = Google
Value of names[1] = Amazon
Value of names[2] = Facebook
Value of names[3] = Apple
==== End of Program ====
#include <stdio.h>
// グローバル宣言
const int MAX = 5;
int main() {
printf("\n\n\t\t==== 整数型ポインタの配列 ====\n\n\n");
int var[] = {10, 20, 30, 40, 50}; // 整数型ポインタの配列(ここではvar)を初期化
int i = 0;
/*
ptrは整数型ポインタの配列です。つまり、
各配列要素のアドレスを格納します
*/
int *ptr[MAX];
for(i = 0; i < MAX; i++) {
/*
各配列要素のアドレスをptr配列に割り当てます
*/
ptr[i] = &var[i];
}
for(i = 0; i < MAX; i++) {
/*
ptr[i]は要素var[i]のアドレスを格納しています。
したがって、*ptr[i]はptr[i]の位置に格納されている要素の値を返します
*/
printf("Value of var[%d] = %i\n\n", i, *ptr[i]);
}
printf("\n\n\t\t==== 文字型ポインタの配列 ====\n\n\n");
char *names[] = {"Google", "Amazon", "Facebook", "Apple"}; // 文字型ポインタの配列(ここではnames)を初期化
i = 0;
for(i = 0; i < MAX; i++) {
printf("Value of names[%d] = %s\n\n", i, names[i]);
}
printf("\n\n\t\t==== プログラムの終了 ====\n\n\n");
return 0;
}
この実験では、整数型ポインタの配列と文字型ポインタの配列にアクセスする方法を学びました。ポインタの配列は、各要素が別のデータ型へのポインタである配列です。ポインタの配列を初期化する方法、配列要素のアドレスをポインタ配列に割り当てる方法、およびポインタ配列を使用して配列要素にアクセスする方法を学びました。