これは興味深い読み物です:https :
//en.m.wikipedia.org/wiki/Bracket
以下は私自身の観察です。
Cの設計者は、何百年もの間通常の筆記言語で使用されてきた文字や構成の意味を採用することに細心の注意を払いました。そうすることで、ASCII文字の非常に限られたサブセットで作業する必要がありました。西洋言語では、書かれたテキストでより多くのグループ化文字が使用されますが、これらはASCIIに変換されませんでした。
通常の言語では、括弧の意味はメインメッセージを中断せずにサイド情報を提供することです。これは、プロシージャを呼び出すときに意味があります。メインメッセージは実行されるアクションであり、サブ情報は引数です。
中括弧はグループ化に使用されます。「この単語の集まりは一緒に属し、他の単語とは区別されます」。したがって、コードのブロック、複合ステートメントにそれらを使用することは理にかなっています。
角括弧は、元のテキストを明確にし、コンテキストを提供するために、元のテキストの一部ではなかったテキストへの挿入に使用されます。または省略記号で省略を示します:[...]。「彼女(女王)は面白がっていなかった」。コンピュータプログラミングでは、提供されているコンテキストの一種であるため、配列のインデックス付けにブラケットを使用することは少し意味があります。「配列?どんな配列?まあ、具体的にはその要素」しかし、元の意味がコンピュータ言語での使用を完全に網羅していない場合でも、ASCIIに残されている他のオプションはそれほど多くありません。
したがって、配列のインデックス付けに角括弧を使用するようになったのは、先行技術と当時利用可能であったものの組み合わせだと私は思います。
[アレックスのコメントのために編集]
この情報筋によると、ASCIIは1963年に導入され、1968年に政府の承認を得ました。このwikiによれば、C言語の開発は1969年まで始まりませんでした。そのため、リッチー氏は、キャラクターを選ぶときに、広くサポートされているこの新しいASCIIと呼ばれる標準に注意を払っていたようです。
「多言語の母」であるアルゴールが強い影響力を持つと主張する他の回答もご覧ください。