[C言語]データベース

### 作り方
データを構造体配列にして検索で工夫する
データのレコードやデータベースの項目情報は動的メモリ確保されたメモリ領域にリスト構造で保持
そこから検索アルゴリズムでデータを取り出し、必要に応じてソート処理
データの保存・読み込みにはバイナリファイルの取り扱いノウハウが必要

### 必要知識
検索、リスト構造、ソート、ハッシュ、動的メモリ確保、バイナリファイルの取り扱い

### 構造体配列のサンプル

#include <stdio.h>

struct pop_dt {
	char region[20];
	long pop;
};

int main(void){

	struct pop_dt world[7] = {
		{"asia", 3769},
		{"north_america", 498},
		{"south_america", 357},
		{"europe", 725},
		{"africa", 832},
		{"oceania", 31},
		{"nowhere", 0}
	};

	int i;
	for(i=0; world[i].pop != 0; i++){
		printf("%-15s %6d\n", (world+i)->region, (world+i)->pop);
	}

	return 0;
}

$ ./main
asia 3769
north_america 498
south_america 357
europe 725
africa 832
oceania 31

一つの事をやろうとしたら、副次的に色々な事を学ばなければならない。その量がやたら多いように感じるのは実力がないからか。