cに関するTXTのブックマーク (2)

  • Cプログラミング専門課程

    書は、プログラミング言語Cを、他の解説書とはまったく違う切口で説明 したである。全ては実践あるのみ。紙上の空論を排し、あくまで実際的な実 験のやりかたを示しながら、C言語の質に迫ろうとした。 最近の言語の書が、できるだけメモリを意識させないようにしているが、 書ではメモリを明示的に意識させることを通して、C言語を解説している。そ れにより、C言語で難しいとされるポインタなどを具体的に示した。 実験は、スタックを破壊するような実験もわざと行なっている。初心者が犯 す誤りを実際に実験し、メモリ内容がどう変化して行くかを細かく追いかけ、 誤りの理由をきちんと示すことに専念した。 今回の公開では、書のもっとも重要な部分、『第4章メモリ』を順次誰で も見られるようにして行く。乞う御期待! 1996年6月3日 公開テキスト はじめに 第0章 準備 第4章 メモリ 正誤表 はじめに 謝辞 第0

  • C言語の関数の仮引数における配列型宣言の危険性について - yuyarinの日記

    #lowhacksでnyaxt, nishioが配列とポインタの違いについて議論していた。その中で関数の仮引数を配列として宣言した場合の挙動はどうなるのか、という話題にたどり着いた。結果僕は非常に危険だと思った。 しかし、まさかそんなことする人はいないだろうと、この記事を書きかけで放置していたのだが、C言語を学習中の友人が危惧していたコードを書く可能性があるミスをしてしまったので書こうと思う。初心者のためにソースは全文、コンパイルチェックをした上で掲載している。 sizeof演算子のおさらい sizeof演算子は演算対象が配列ならば、配列の要素数×要素のサイズが返ってきて、ポインタならばポインタのサイズ(32bit系では4)が返ってくる。 /* 1 */ #include <stdio.h> #include <string.h> int main(void) { char str[] =

    C言語の関数の仮引数における配列型宣言の危険性について - yuyarinの日記
  • 1