C統合・質問スレッド ..
[2ch|▼Menu]
653:デフォルトの名無しさん
07/02/15 23:14:58
質問です!動的メモリ確保をつかったクラスみたいなものを作りたいんですが、
malloc() とfree()を使う方法では一つの関数内で完結させれば上手くいくのですが、
複数の関数でそれをやると上手く行きません。例えば↓では、関数b()で
エラーとなってしまいます。何故でしょうか?もう弱り果てています…

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

void a(int*, int); //メモリ確保
void b(int*, int); //メモリ開放

main(int argc, char* argv)
{
int size;
int* array1;
int* array2;
size=10;

//うまくいく
array1 = (int*)malloc(sizeof(int)*size);
free(array1);

//うまくいかない!(bのところでメモリ領域破壊が…orz)
a(array2,size);
b(array2,size);
}

void a(int* array, int size){ array = (int*)malloc(sizeof(int)*size); }
void b(int* array, int size){ free(array); }


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5400日前に更新/239 KB
担当:undef