Cでキーと値のペアを構成してアクセスするにはどうすればよいですか?愚かな単純な例を使用するには、整数とその平方根の間で変換するテーブルを作成したいとしましょう。Cでの辞書/マップ/キーと値のペアのデータ構造
私はJavaScriptを書いていた場合、私はこれを行うことができます:
var squareRoots = {
4: 2,
9: 3,
16: 4,
25: 5
}
をして、同じようにアクセス:
var squareRootOf25 = squareRoots[5]
Cでこれを行うにはきれいな方法は何ですか?ある種類の列挙型をキーとして使用し、別の種類の列挙型を値として使用する場合はどうなりますか?
Cコードまたはリソースファイルを生成するためのドメイン固有の言語を記述するのに手間がかからないため、コンパイル時にあらかじめ定義されたルックアップテーブルを合理的に指定することはできません。バイナリ検索にソートされた配列さえ、順序エラーが発生しやすくなります。 +1はとにかく、それはほとんど確実に問題ではないからです。シンプルなアイテムの配列から、アプリケーションの初期化中にデータ構造を記入するだけです。ランタイムコストはほとんど問題ではありません。とにかくJavascriptの例では効果的ですが、言語提供のコンテナ充填コードを使用しています。 – Steve314
実行時生成は私の現在のニーズには問題ありません。 – morgancodes