#include <stdlib.h> void *calloc(size_t num, size_t size) num : 要素の数 size : 各要素のサイズ
#include <stdio.h> #include <stdlib.h> int main() { int i1, *k1; /* int型整数の10個の配列を確保 callocを使用(0で初期化される) */ k1 = (int *)calloc(10, sizeof(int)); /* 最初の5個に1から5を代入 */ for (i1 = 0; i1 < 5; i1++) k1[i1] = i1 + 1; for (i1 = 0; i1 < 10; i1++) printf("%2d ", k1[i1]); printf("\n"); /* 配列のサイズを15に変更(10個目までのデータは保存される) */ k1 = (int *)realloc((void *)k1, 15*sizeof(int)); /* intを15個 */ for (i1 = 0; i1 < 15; i1++) printf("%2d ", k1[i1]); printf("\n"); /* 領域の解放 */ free((void *)k1); /* int型整数の10個の配列を確保 mallocを使用(内容は未定) */ k1 = (int *)malloc(10*sizeof(int)); /* intを10個 */ for (i1 = 0; i1 < 10; i1++) printf("%2d ",k1[i1]); printf("\n"); return 0; }
1 2 3 4 5 0 0 0 0 0 1 2 3 4 5 0 0 0 0 0 0 33 1627793056 1627793056 0 1627793104 1627793104 3 4 5 0 0 0 0 0
#include <stdio.h> int main() { int i1, n, sum = 0, *x; /* データの数 */ printf("データの数は? "); scanf("%d", &n); /* 領域の確保 */ x = new int [n]; /* データの入力と和の計算 */ for (i1 = 0; i1 < n; i1++) { printf(" %d 番目のデータを入力してください ", i1+1); scanf("%d", &x[i1]); sum += x[i1]; } printf("和 = %d\n", sum); /* 領域の開放 */ delete [] x; return 0; }
データの数は? 3 1 番目のデータを入力してください 1 2 番目のデータを入力してください 2 3 番目のデータを入力してください 3 和 = 6
#include <stdio.h> int main() { int i1, i2, m, n, *mean, **ten; /* データの数 */ printf("クラスの人数は? "); scanf("%d", &n); printf("科目の数は? "); scanf("%d", &m); /* 領域の確保 */ ten = new int * [n]; mean = new int [m]; for (i1 = 0; i1 < m; i1++) mean[i1] = 0; /* データの入力と和の計算 */ for (i1 = 0; i1 < n; i1++) { ten[i1] = new int [m]; // 学生毎に科目数を変えることも可能 printf(" %d 番目の学生\n", i1+1); for (i2 = 0; i2 < m; i2++) { printf(" %d 番目の科目の点数は? ", i2+1); scanf("%d", &ten[i1][i2]); mean[i2] += ten[i1][i2]; } } /* 平均の出力 */ printf("各科目の平均点は以下の通りです\n "); for (i1 = 0; i1 < m; i1++) printf(" %d", mean[i1]/n); printf("\n"); /* 領域の開放 */ for (i1 = 0; i1 < n; i1++) delete [] ten[i1]; delete [] ten; delete [] mean; return 0; }
クラスの人数は? 2 科目の数は? 3 1 番目の学生 1 番目の科目の点数は? 10 2 番目の科目の点数は? 20 3 番目の科目の点数は? 30 2 番目の学生 1 番目の科目の点数は? 40 2 番目の科目の点数は? 50 3 番目の科目の点数は? 60 各科目の平均点は以下の通りです 25 35 45
菅沼ホーム | 本文目次 | 演習問題解答例 | 付録目次 | 索引 |