« Fedora Live USB Creator | トップページ | NTEmacs »

2008/05/27

mallocで動的に確保してくれる関数

を作ってみた。(要素数が小さいときには、わざわざmallocでヒープ領域からメモリを確保する必要はない。数値計算の時には要素数が大きい配列を複数用意することもあるからそういうときのため)

#include <stdio.h>
#include <stdlib.h>

double *malloc_double(int n)
{
  double *ptr = (double*)malloc(sizeof(double)*n);

  if(ptr == NULL){
    fprintf(stderr, "Allocation Failed!\n");
    exit(EXIT_FAILURE);
  }

  return ptr;
}

複数の配列を確保するときに使えるかなと思って作った。(Runge-Kuttaを使うときとか)

使用例

int n = 10000;
double *array1 = (*malloc_double)(n);
double *arrya2 = (*malloc_double)(n);

でも、確保エラーのチェックって、一番最後のポインタに対してのみ行えばいいのかな?

---追記---

あくまで数値計算などの個人的な使用にとどめよう。(と言われた。ただ、使用者が自分のみで、わかってて使うなら問題ないとも言われた。)

|

« Fedora Live USB Creator | トップページ | NTEmacs »

C」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/222903/41348937

この記事へのトラックバック一覧です: mallocで動的に確保してくれる関数:

« Fedora Live USB Creator | トップページ | NTEmacs »