私は C メモリの概念についてあまり経験がありません。解決策を探してみましたが、見つかりませんでした。
Cで動的配列を作成しようとしています。アドレスが連続しているかどうかを確認しながら、この方法で作成しようとしました。プログラムは正常に実行されました。
ただし、ステートメントの後にセグメンテーション違反が発生しましたsystem("pause")
。また、デバッガを使用してデバッグしようとしましたが、うまくいきませんでした! Dev CPP を使用しています。
誰でも私を案内できますか?
#include<stdio.h>
#include<stdlib.h>
main()
{
int a[0], *ptr, i;
printf("%d", sizeof(a[0]));
a[0]=1;
for(i=1;i<10;i++)
{
ptr=(int *) malloc(sizeof(int));
printf("Enter a[%d]: ", i);
a[i]= *ptr;
scanf("%d", &a[i]);
}
i=0;
while(i<10)
{printf("\n%u", &a[i++]);}
free(ptr);
system("pause");
}