Cのマナーいろいろ
■ このスレッドは過去ログ倉庫に格納されています
0588デフォルトの名無しさん
NGNG配列のインデックスはintでいいんじゃない?
添え字アクセスってポインタ演算のsyntax sugarだしね。
double d[10]
で d[i] とするのは *(d + i) と同じだけど、
d + i == (size_t)d + sizeof(double) * i
なわけで。
型がサイズを覚えてくれているから、普段はintを使えるですよ。
そうじゃない場合、例えば malloc の引数には size_t を渡すけど
double *d = malloc(10 * sizeof(double));
で、 10 は int で、sizeof(double) は size_t で、かけたら size_t。
sizeof(double) を掛け忘れたらコンパイルエラーになってくれると、ちょっとうれしい。
size_t と int を無条件で比較してる場合もエラーになってくれたらうれしい。
size_t / size_t が int になる、というルールがあれば、
int a[10], i;
for (i = 0; i < sizeof(a) / sizeof(int); i++)
を
for (i = 0; i < sizeof(a); i++)
と書き間違えるのを防げるしさ。
支離滅裂スマソ
■ このスレッドは過去ログ倉庫に格納されています