第7講 ポインタ
第8話 3次元配列で行ったことを1次元配列で行う!
001
(前半はf()が3次元配列で行い、後半はg()が1次元で行う)を実現するプログラム例
#include<iostream> //入出力のために組み込む
using namespace std; //coutを使えるようにするために必要
void f(); //2次元配列による処理
void g(); //1次元配列による処理
int main() {
  f(); //2次元配列による処理
  cout << endl; //改行
  g(); //1次元配列による処理
  return(0);
}
void f() {
  int i, j, k;
  //3次元配列の用意
  int ***a = (int ***)malloc(sizeof(int **) * 3);
  for (i = 0; i < 3; i++)a[i] = (int **)malloc(sizeof(int *) * 4);
  for (i = 0; i < 3; i++) {
    for (j = 0; j < 4; j++) {
      a[i][j] = (int *)malloc(sizeof(int) * 5);
    }
  }
  //データ作成
  for (i = 0; i < 3; i++) {
    for (j = 0; j < 4; j++) {
      for (k = 0; k < 5; k++) {
        a[i][j][k] = 20 * i + 5 * j + k + 1;
      }
    }
  }
  //データの表示
  for (i = 0; i < 3; i++) {
    for (j = 0; j < 4; j++) {
      for (k = 0; k < 5; k++) {
        if(a[i][j][k] < 10)cout<< " "<< a[i][j][k];
        if (a[i][j][k]>= 10 && a[i][j][k] < 100)cout << " " << a[i][j][k];
        if (a[i][j][k] >= 1000)cout << a[i][j][k];
      }
      cout << endl; //改行
    }
    cout << endl; //改行
  }
}
void g() {
  int i, j, k;
  int *a = (int *)malloc(sizeof(int *) * 60);
  //データ作成
  for (i = 0; i < 60; i++) {
    a[i] = i + 1;
  }
  //データの表示
  for (i = 0; i < 3; i++) {
    for (j = 0; j < 4; j++) {
      for (k = 0; k < 5; k++) {
        if (a[20 * i + 5 * j + k] < 10)cout << " " << a[20 * i + 5 * j + k];
        if (a[20 * i + 5 * j + k] >= 10 && a[20 * i + 5 * j + k] < 100)cout << " " << a[20 * i + 5 * j + k];
        if (a[20 * i + 5 * j + k] >= 1000)cout << a[20 * i + 5 * j + k];
      }
      cout << endl; //改行
    }
    cout << endl; //改行
  }
}




ところで、ポインタってどういう意味だかわかりますか。
英語で書くとpointerです。
それを辞書で引くと、
『指すもの』や『指し棒』という意味だと出てきます。
パワーポイントでプレゼンするときにポインターや指し棒を使って、
説明しますね。
pointerをカタカナ表記するとしたら本当はポインターですよね。
しかし、−を付けない書き方がIT業界や理系の世界では多いようですね。
ポインタと書いていますが、プレゼンで使うポインターと同じです。
指し棒の代わりにレーザー光線を当ててポイントしますね。
ポインター(ポインタ)は指し示すものという意味を持っています。
でも何を指し示しているのでしょうか。


第7話へ   第9話へ

002

初心者のための excel 2016 マクロ VBA 入門講義 基礎から応用まで
vc++ c言語 c++ 入門 初心者 基礎から応用まで
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門

数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップへ