組込みや制御、もしくは OS、 OS に近い部分をちゃんと理解したいなら、 ポインタの理解は必須です。つまり、こんぷーたを本当に理解したいか否かです。 アセンブラもやった方がいいに越したことはないですが、 C のポインタを構造体、共用体を絡めてきちんと理解できていれば十分でしょう。 まぁ、これを理解するのもアセンブラをやったほうがハヤーイかも知れません。
アプリケーションだけを作っているつもりなら、 C をやらずにいきなり Java などの方が良いかもしれません。 その方がおぶじぇくとシコウをすんなり受け入れられるでしょう。 (この辺は >>206 にはげどうです。)
達人の方々、ご教授お願います。 unsigned short x; で、1byte目と2バイト目を入れ替える時、 x = ((char*)x)[0] * 0x100 + ((char*)x)[1] & 0x00ff; と x = x >> 8 + x << 8; と書く場合とでは、とちらが処理速度が速くまた美しいのでしょうか?
>>840 ごめん、>>839だけでは情報不足でした。 fclose() does not handle NULL arguments; they will result in a segmenta- tion violation. This is intentional - it makes it easier to make sure programs written under FreeBSD are bug free. This behaviour is an imple- mentation detail, and programs should not rely upon it.