printf()
持った後にしようとするとクラッシュするのはなぜfree()
ですか?
動的配列を作成しました。表示された要素。各要素に値を入力します。次に、を使用してメモリを解放しfree()
ました。そして、要素を再度表示しようとしています。
コードは次のとおりです。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i;
int *p;
p = (int *)malloc(10 * sizeof(int));
for ( i = 0; i < 10; i++ )
printf("%d ", p[i]);
printf("\n");
for ( i = 0; i < 10; i++ )
p[i] = i;
for ( i = 0; i < 10; i++ )
printf("%d ", p[i]);
printf("\n");
free(p);
p = NULL;
for ( i = 0; i < 10; i++ ) /* App crashes around here. */
printf("%d ", p[i]);
printf("\n");
return 0;
}
PS私はCが初めてです。
何が悪いのか教えてください。