ポインタ型の配列宣言をつかって簡単に複数の変数のアドレスデータをメモリに格納することができます
ソーラー「というわけで
int*型の配列宣言をつかって
複数の変数のアドレスデータをメモリに格納することはできます
ここで
もう1度
その仕組みをみていこうかな
int a = 1;
int b = 2;
int c = 3;
を実行したときの
int型の変数aのアドレス&a
int型の変数bのアドレス&b
int型の変数cのアドレス&c
を
ブロック{}内に記述した
hairetuのint*型の配列宣言をつかって
int* hairetu[] = { &a,&b,&c };
を実行できることになります
int* hairetu[3] = { &a,&b,&c };
では何が行われているか
その仕組みをじっくり見ていこうかな
まず
int* hairetu[3];
の仕組みからみていきましょう
int* hairetu[3]; は
hairetuのint*型の配列宣言とよばれます
int* hairetu[3];
が実行されると
int*型の配列変数
hairetu[0]
hairetu[1]
hairetu[2]
が生成されます
その仕組みは
char hairetu[3];
は
hairetuのchar型の配列宣言と呼ばれていて
char hairetu[3];
が実行されると
char型の配列変数
hairetu[0]
hairetu[1]
hairetu[2]
が生成されることと同じです
int hairetu[3];
は
hairetuのint型の配列宣言と呼ばれていて
int hairetu[3];
が実行されると
int型の配列変数
hairetu[0]
hairetu[1]
hairetu[2]
が生成されます
hairetuのint*型の配列宣言
int* hairetu[3];
が実行されると
int*型の配列変数
hairetu[0]
hairetu[1]
hairetu[2]
が生成されますが
この
hairetu[0]
hairetu[1]
hairetu[2]
は
int*型(イントアスタリスク型)のポインタ変数となっています
int*型(イントアスタリスク型)のポインタ変数には
int型の変数のアドレスを代入することができますね
ですから
hairetu[0]
hairetu[1]
hairetu[2]
は
int型の変数aのアドレス&a
int型の変数bのアドレス&b
int型の変数cのアドレス&c
を格納することができます
そして
hairetu[0]
hairetu[1]
hairetu[2]
に
💖アドレス💖
&a
&b
&c
が代入されたとき
そのアドレスデータをprintf出力表示するには
%p出力変換指定子を用いて
printf("%p\n",hairetu[0]);
printf("%p\n",hairetu[1]);
printf("%p\n",hairetu[2]);
を実行します
そのプログラムはこちらです
👇
#include <stdio.h>
int main(void) {
int a = 1;
int b = 2;
int c = 3;
int* hairetu[3];
hairetu[0]=&a;
hairetu[1]=&b;
hairetu[2]=&c;
printf("%p\n", hairetu[0]);/*ここの部分ですね*/
printf("%p\n", hairetu[1]);/*ここの部分ですね*/
printf("%p\n", hairetu[2]);/*ここの部分ですね*/
return 0;
}
ビルド実行結果
00B0FC9C
00B0FC90
00B0FC84
ソーラー「
int* hairetu[3];
hairetu[0]=&a;
hairetu[1]=&b;
hairetu[2]=&c;
を短くまとめたものが
int* hairetu[3] = { &a,&b,&c };
というわけです
つまり
1つのint*型の配列宣言を使って(int*型のポインタ変数の配列宣言を使って)
複数の
アドレスデータをメモリに格納することができるというわけです」
solarplexuss「なんと
hairetuのint*型の配列宣言
int* hairetu[3]
って
複数のアドレスを格納することができるんだ~ すごいなあ」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます