#include <iostream> void data_set(int *data, int n); // 配列に値をセットする関数のプロトタイプ // 配列の先頭のアドレス data と配列サイズ n を受け取る int main(int argc, char* argv[]) { const int n=5; // 配列の要素数を定数で定める int array[n]; // int 型の配列 data_set(array, n); // 配列へデータを与える仕事を別関数に任せる // 配列 array の先頭アドレスは array とも書けることを利用。さらに要素数 n も渡す for(int i=0 ; i<n ; i++){ std::cout << array[i] << "\n"; // 利用法はこれまで通り } return 0; } void data_set(int *data, int n){ for(int i=0 ; i<n ; i++){ data[i] = 2*i; // ポインタ data に対して data[i] と書くことで配列へアクセスできる } } |
#include <iostream> void data_set(int *data, int n); // 配列に値をセットする関数のプロトタイプ // 配列の先頭のアドレス data と配列サイズ n を受け取る int main(int argc, char* argv[]) { int n; // 配列の要素数 int *a_heap; // int 型のポインタ(後に配列として用いる) std::cout << "配列の要素数を入力してください : "; std::cin >> n; // 配列の要素数をキーボードから打ち込む a_heap = new int[n]; // new 演算子で整数 n 個分のメモリを確保 // 要素数 n 個の配列として用いることができる data_set(a_heap, n); // 配列へデータを与える仕事を別関数に任せる // 配列の先頭へのポインタ a_heap と要素数 n を渡す for(int i=0 ; i<n ; i++){ std::cout << a_heap[i] << "\n"; // 利用法はこれまで通り } delete[] a_heap; // new 演算子で確保した領域は自分で delete で削除する! return 0; } void data_set(int *data, int n){ for(int i=0 ; i<n ; i++){ data[i] = 2*i; // ポインタ data に対して data[i] と書くことで配列へアクセスできる } } |