13,005
回編集
細 (文字列「</source>」を「</syntaxhighlight>」に置換) |
|||
5行目: | 5行目: | ||
void *malloc(size_t size); | void *malloc(size_t size); | ||
</ | </syntaxhighlight> | ||
<br> | <br> | ||
malloc関数はsizeバイト分のメモリ領域を確保して、そのメモリ領域へのポインタを返す関数である。<br> | malloc関数はsizeバイト分のメモリ領域を確保して、そのメモリ領域へのポインタを返す関数である。<br> | ||
26行目: | 26行目: | ||
/* メモリ領域の解放 */ | /* メモリ領域の解放 */ | ||
free(ptr); | free(ptr); | ||
</ | </syntaxhighlight> | ||
<br> | <br> | ||
以下の例では、malloc関数を使用して、メモリ領域を動的に確保している。<br> | 以下の例では、malloc関数を使用して、メモリ領域を動的に確保している。<br> | ||
57行目: | 57行目: | ||
return EXIT_SUCCESS; | return EXIT_SUCCESS; | ||
} | } | ||
</ | </syntaxhighlight> | ||
<br><br> | <br><br> | ||
66行目: | 66行目: | ||
void *calloc(size_t nmemb, size_t size); | void *calloc(size_t nmemb, size_t size); | ||
</ | </syntaxhighlight> | ||
<br> | <br> | ||
calloc関数は、sizeバイトの大きさを持つオブジェクトがnmemb個分入るメモリ領域を確保して、その領域のすべてのビットを0で初期化する関数である。<br> | calloc関数は、sizeバイトの大きさを持つオブジェクトがnmemb個分入るメモリ領域を確保して、その領域のすべてのビットを0で初期化する関数である。<br> | ||
104行目: | 104行目: | ||
return EXIT_SUCCESS; | return EXIT_SUCCESS; | ||
} | } | ||
</ | </syntaxhighlight> | ||
<br><br> | <br><br> | ||
113行目: | 113行目: | ||
void *realloc(void *ptr, size_t size); | void *realloc(void *ptr, size_t size); | ||
</ | </syntaxhighlight> | ||
<br> | <br> | ||
realloc関数は、まず、ptrが指すメモリ領域を解放した後、大きさがsizeである新しいメモリ領域を確保する関数である。<br> | realloc関数は、まず、ptrが指すメモリ領域を解放した後、大きさがsizeである新しいメモリ領域を確保する関数である。<br> | ||
164行目: | 164行目: | ||
return EXIT_SUCCESS; | return EXIT_SUCCESS; | ||
} | } | ||
</ | </syntaxhighlight> | ||
<br><br> | <br><br> | ||
174行目: | 174行目: | ||
void free (void *ptr); | void free (void *ptr); | ||
</ | </syntaxhighlight> | ||
<br> | <br> | ||
以下の例として、free関数を使用してメモリ領域を開放している。<br> | 以下の例として、free関数を使用してメモリ領域を開放している。<br> | ||
198行目: | 198行目: | ||
return EXIT_SUCCESS; | return EXIT_SUCCESS; | ||
} | } | ||
</ | </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}; /* 同一の値で初期化 */ | ||
</ | </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); | ||
</ | </syntaxhighlight> | ||
<br> | <br> | ||
以下の例では、memcpy関数を使用して、int型の配列をコピーしている。<br> | 以下の例では、memcpy関数を使用して、int型の配列をコピーしている。<br> | ||
253行目: | 253行目: | ||
return EXIT_SUCCESS; | return EXIT_SUCCESS; | ||
} | } | ||
</ | </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); | ||
</ | </syntaxhighlight> | ||
<br> | <br> | ||
以下の例では、memcmp関数を使用して、int型の配列を比較している。<br> | 以下の例では、memcmp関数を使用して、int型の配列を比較している。<br> | ||
314行目: | 314行目: | ||
return EXIT_SUCCESS; | return EXIT_SUCCESS; | ||
} | } | ||
</ | </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 *)); | ||
</ | </syntaxhighlight> | ||
<br> | <br> | ||
qsort関数の引数は以下の通りである。<br> | qsort関数の引数は以下の通りである。<br> | ||
388行目: | 388行目: | ||
} | } | ||
} | } | ||
</ | </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); | ||
</ | </syntaxhighlight> | ||
<br> | <br> | ||
以下の例では、memchr関数を使用して、char型の配列を探索している。<br> | 以下の例では、memchr関数を使用して、char型の配列を探索している。<br> | ||
435行目: | 435行目: | ||
return EXIT_SUCCESS; | return EXIT_SUCCESS; | ||
} | } | ||
</ | </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 *)); | ||
</ | </syntaxhighlight> | ||
<br> | <br> | ||
bsearch関数の引数は、以下の通りとなる。<br> | bsearch関数の引数は、以下の通りとなる。<br> | ||
510行目: | 510行目: | ||
} | } | ||
} | } | ||
</ | </syntaxhighlight> | ||
<br><br> | <br><br> | ||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:C]] | [[カテゴリ:C]] |