タグ

ブックマーク / www9.plala.or.jp (4)

  • 初心者のC言語

    since:2002.06.02 更新に手が回らずすみません。 ANSI規格でもいいよという方は 御覧ください。m(_ _)m

  • 少し詳しい型変換の説明

    型変換については、第4章で簡単に説明しましたが、複雑な規則があり、迷うことの多い部分です。ですから、ここで少し詳しく算術型の型変換について説明してみようと思います。 なお、説明中で用いたコードの実行結果は「Borland C++ Compiler 5.5」(int:4バイト short:2バイト char:1バイト)で確認をしています。 1.汎整数拡張 文字型や整数型などの汎整数型の場合、型が、int より小さな場合(char, signed char, unsigned char, short, unsigned short)は、演算の最初に int か、表現できなければunsigned int に変換されます。このとき、符号を含めてその値を変えることはありません。 (例)short a = 30000, b = 30000; printf("sizeof(a) = %d\n", siz

  • realloc

    メモリの割り当てを変更する 【書式】 #include <stdlib.h> void *realloc(void *ptr, size_t size); 【説明】 指定したヒープメモリのブロックを、指定したサイズに変更して再度割当てます。古いメモリブロックにあったデータは可能な限り新しいメモリブロックにコピーされます。 【引数】 void *ptr  : malloc関数、calloc関数、realloc関数を用いて確保したヒープメモリへのポインタ。 NULL(0)を指定した場合には、mallocと同様の動作をします。 size_t size : 変更したいメモリのバイトサイズ ※size_t は stdlib.h の中でtypedefされ、一般にunsignedです。 【戻り値】 成功時 : 再確保したメモリブロックを指すポインタ (void *についてはmalloc関数参照) このア

  • malloc

    指定バイト分、メモリ領域を確保する 【書式】 #include <stdlib.h> void *malloc(size_t size); 【説明】 ヒープメモリから size バイトのブロックを割り当てます。確保されたブロックは 0 クリアされません。 この関数を使うことにより、プログラムで予め配列などを使ってメモリを確保せずに、必要な場所で必要なだけメモリを確保することが出来ます。木構造やリストなど多くのデータ構造は、通常 malloc関数によって動的にメモリを確保します。 malloc関数で確保したメモリは、使用後、必ず free関数で解放してください。 【引数】 size_t size : 確保したいメモリのバイトサイズ size_t は stdlib.h の中でtypedefされ、一般にunsignedです。 【戻り値】 成功時 : 確保したメモリブロックを指すポインタ 失敗時 

  • 1