- 653 名前:デフォルトの名無しさん [2007/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); }
|

|