表というのはプログラムに使うには実に扱いやすい形式であることは言うまでもありません。 そのまま二次元配列にしてしまえばよいので。 プログラム 以上の考え方からプログラムを書くと最終的にこうなりました。 // 文字列表現の 0~255 を解釈して返却値で返す。 // 解釈に成功した場合は残りの文字列の位置を rest にセットする。 // エラーの場合は -1 を返し、 rest は問題のある箇所がセットされる。 int parse_number(const char* input, const char** rest); // IP アドレスの文字列表現をパースして result に格納する。 // 正しいフォーマットとしてパースが完了した場合には 1 を返し、 // そうでなかった場合には 0 を返す。 // 0 が返されたときは result の内容は信頼できない。 _Bool par