Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
配列にアクセスするときは、次の[]ように演算子を使用します。
[]
int a[5]; ... a[b] = 12;
上記の変数の適切なデータ型は何bですか?
b
私はそれがとa[b]同等*(a + b)であることを発見しました。bvoid*size_t
a[b]
*(a + b)
void*
size_t
C 標準 ( ISO/IEC 9899:TC2 ) Sec 6.5.2.1 Array subscripting より
角括弧内の式が後に続く後置式[]は、配列オブジェクトの要素の添え字指定です。添字演算子の定義[] はE1[E2]と同じです(*((E1)+(E2)))。2 項 + 演算子に適用される変換規則により、E1 が配列オブジェクト (配列オブジェクトの最初の要素へのポインターと同等) であり、E2 が整数の場合、(ゼロから数えて)の 要素をE1[E2]指定します。E2-thE1
E1[E2]
(*((E1)+(E2)))
E2-th
E1