C & C++ FAQ
|
C | C++ | オブジェクトを動的に生成するにはどうすればよいでしょうか。 |
これで一般にヒープ領域と呼ばれる空き域から、int型オブジェクト1個分の記憶域が確保されます。ptrはその領域を指していますから、その領域は*ptrでアクセスすることができます。たとえば、ptr = calloc(1, sizeof(int));
なお、確保したオブジェクトが不要になった場合は、free関数で解放しましょう。以下のようにします。*ptr = 100; /* *ptrに100を代入 */ x = *ptr + 10; /* *ptrに10加えた値をxに代入 */ scanf("%d", ptr); /* 標準入力から10進整数を読み込んでptrに格納 */ printf("%d", *ptr); /* 標準出力に*ptrの値を書き出す */
free(*ptr);
標準C | §7.10.3 | Memory managemnet functions |
標準C99 | §7.20.3 | Memory managemnet functions |
標準C++ | §20.4 | Memory |