「C言語の基礎 - 配列・メモリ領域」の版間の差分

ナビゲーションに移動 検索に移動
文字列「</source>」を「</syntaxhighlight>」に置換
(文字列「</source>」を「</syntaxhighlight>」に置換)
5行目: 5行目:
   
   
  void *malloc(size_t size);
  void *malloc(size_t size);
  </source>
  </syntaxhighlight>
<br>
<br>
malloc関数はsizeバイト分のメモリ領域を確保して、そのメモリ領域へのポインタを返す関数である。<br>
malloc関数はsizeバイト分のメモリ領域を確保して、そのメモリ領域へのポインタを返す関数である。<br>
26行目: 26行目:
  /* メモリ領域の解放 */
  /* メモリ領域の解放 */
  free(ptr);
  free(ptr);
  </source>
  </syntaxhighlight>
<br>
<br>
以下の例では、malloc関数を使用して、メモリ領域を動的に確保している。<br>
以下の例では、malloc関数を使用して、メモリ領域を動的に確保している。<br>
57行目: 57行目:
     return EXIT_SUCCESS;
     return EXIT_SUCCESS;
  }
  }
  </source>
  </syntaxhighlight>
<br><br>
<br><br>


66行目: 66行目:
   
   
  void *calloc(size_t nmemb, size_t size);
  void *calloc(size_t nmemb, size_t size);
  </source>
  </syntaxhighlight>
<br>
<br>
calloc関数は、sizeバイトの大きさを持つオブジェクトがnmemb個分入るメモリ領域を確保して、その領域のすべてのビットを0で初期化する関数である。<br>
calloc関数は、sizeバイトの大きさを持つオブジェクトがnmemb個分入るメモリ領域を確保して、その領域のすべてのビットを0で初期化する関数である。<br>
104行目: 104行目:
     return EXIT_SUCCESS;
     return EXIT_SUCCESS;
  }
  }
  </source>
  </syntaxhighlight>
<br><br>
<br><br>


113行目: 113行目:
   
   
  void *realloc(void *ptr, size_t size);
  void *realloc(void *ptr, size_t size);
  </source>
  </syntaxhighlight>
<br>
<br>
realloc関数は、まず、ptrが指すメモリ領域を解放した後、大きさがsizeである新しいメモリ領域を確保する関数である。<br>
realloc関数は、まず、ptrが指すメモリ領域を解放した後、大きさがsizeである新しいメモリ領域を確保する関数である。<br>
164行目: 164行目:
     return EXIT_SUCCESS;
     return EXIT_SUCCESS;
  }
  }
  </source>
  </syntaxhighlight>
<br><br>
<br><br>


174行目: 174行目:
   
   
  void free (void *ptr);
  void free (void *ptr);
  </source>
  </syntaxhighlight>
<br>
<br>
以下の例として、free関数を使用してメモリ領域を開放している。<br>
以下の例として、free関数を使用してメモリ領域を開放している。<br>
198行目: 198行目:
     return EXIT_SUCCESS;
     return EXIT_SUCCESS;
  }
  }
  </source>
  </syntaxhighlight>
<br><br>
<br><br>


206行目: 206行目:
  int a1[] = {1, 2, 3}; /* それぞれ異なる値で初期化 */
  int a1[] = {1, 2, 3}; /* それぞれ異なる値で初期化 */
  int a2[256] = {0};    /* 同一の値で初期化 */
  int a2[256] = {0};    /* 同一の値で初期化 */
  </source>
  </syntaxhighlight>
<br>
<br>
また、malloc関数等を使用して動的に確保したメモリ領域を初期化する場合や、配列を宣言時以外に初期化する場合は、<br>
また、malloc関数等を使用して動的に確保したメモリ領域を初期化する場合や、配列を宣言時以外に初期化する場合は、<br>
227行目: 227行目:
   
   
  void *memmove(void *s1, const void *s2, size_t n);
  void *memmove(void *s1, const void *s2, size_t n);
  </source>
  </syntaxhighlight>
<br>
<br>
以下の例では、memcpy関数を使用して、int型の配列をコピーしている。<br>
以下の例では、memcpy関数を使用して、int型の配列をコピーしている。<br>
253行目: 253行目:
     return EXIT_SUCCESS;
     return EXIT_SUCCESS;
  }
  }
  </source>
  </syntaxhighlight>
<br><br>
<br><br>


265行目: 265行目:
   
   
  int memcmp (const void *s1, const void *s2, size_t n);
  int memcmp (const void *s1, const void *s2, size_t n);
  </source>
  </syntaxhighlight>
<br>
<br>
以下の例では、memcmp関数を使用して、int型の配列を比較している。<br>
以下の例では、memcmp関数を使用して、int型の配列を比較している。<br>
314行目: 314行目:
     return EXIT_SUCCESS;
     return EXIT_SUCCESS;
  }
  }
  </source>
  </syntaxhighlight>
<br><br>
<br><br>


326行目: 326行目:
   
   
  void qsort (void *base, size_t nmemb, size_t size, int (*compare\)(const void *, const void *));
  void qsort (void *base, size_t nmemb, size_t size, int (*compare\)(const void *, const void *));
  </source>
  </syntaxhighlight>
<br>
<br>
qsort関数の引数は以下の通りである。<br>
qsort関数の引数は以下の通りである。<br>
388行目: 388行目:
     }
     }
  }
  }
  </source>
  </syntaxhighlight>
<br><br>
<br><br>


404行目: 404行目:
   
   
  void *memchr (const void *s, int c, size_t n);
  void *memchr (const void *s, int c, size_t n);
  </source>
  </syntaxhighlight>
<br>
<br>
以下の例では、memchr関数を使用して、char型の配列を探索している。<br>
以下の例では、memchr関数を使用して、char型の配列を探索している。<br>
435行目: 435行目:
     return EXIT_SUCCESS;
     return EXIT_SUCCESS;
  }
  }
  </source>
  </syntaxhighlight>
<br><br>
<br><br>


448行目: 448行目:
   
   
  void *bsearch (const void *key, const void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *));
  void *bsearch (const void *key, const void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *));
  </source>
  </syntaxhighlight>
<br>
<br>
bsearch関数の引数は、以下の通りとなる。<br>
bsearch関数の引数は、以下の通りとなる。<br>
510行目: 510行目:
     }
     }
  }
  }
  </source>
  </syntaxhighlight>
<br><br>
<br><br>


__FORCETOC__
__FORCETOC__
[[カテゴリ:C]]
[[カテゴリ:C]]

案内メニュー