タグ

ブックマーク / www.nurs.or.jp/~sug (1)

  • ポインタ虎の巻~malloc() されたポインタの使い方

    さて、メモリを確保する有用なライブラリ関数に malloc(3) がある。これ自体は、決してOSの機能として実装されているシステムコールではないが、必要に応じてメモリを確保するシステムコール sbrk(2) を呼び出す。malloc(3) は、動的にメモリを確保するために使われる。つまり、実行時にしかサイズが決まらない配列を確保するのに使われる。たとえば、エディタなどを考えてみれば、その文書をメモリ内に保存するためにメモリが確保されるのだが、そのサイズはその文書の大きさによってだけ決まる。ここで静的に配列で確保すると、特定のサイズ以上のファイルは読み込めないことになる。これは困る。だから、こういう場合には、malloc(3) を使って、動的に必要なだけのメモリを確保するのである。 malloc(3) は void 型のポインタを返す。どんなサイズの構造体でも malloc(3) で確保でき

  • 1