動的にメモリを取得する・malloc †malloc関数を使用することにより指定したサイズ(バイト)のメモリを取得することができます。 スポンサーリンク 関連記事 †
malloc書式など †malloc関数の書式などを以下に記します。
mallocのCサンプルコード †以下にmallocを使ったCサンプルコードを記します。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> int main(void) { char *src = "HELLO WORLD!\n"; char *p = NULL; int i; p = malloc(strlen(src)+1); if (p == NULL) { perror("malloc() error!"); exit(EXIT_FAILURE); } strcpy(p,src); for (i=0; i<strlen(p); i++) { p[i] = (char)tolower(p[i]); } printf("%s", src); printf("%s", p); if (p != NULL) { free(p); p = NULL; } return 0; } 上記Cサンプルコードをコンパイルし実行した結果です。 $ gcc malloc.c -o malloc $ ./malloc HELLO WORLD! hello world! mallocで+1している理由は、文字列の終端のNULLが格納されるエリア(1バイト)を追加しています。 スポンサーリンク |