#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] と書くことで配列へアクセスできる
}
}
|