1
ここに私が持っているコードです。例えばCの動的配列が私にアクセス違反を与えるのはなぜですか?
int *arr; // Indented this line
int sizeOfArr = 0;
printf("Enter size of arr.\n");
scanf("%d", &sizeOfArr);
arr = malloc(sizeOfArr * sizeof(int));
for (int i = 0; i < sizeOfArr; i++) {
scanf("%d", arr[i]);
}
、ダイナミックアレイのサイズは5であり、そしてIは入力を入力するために進んで「1 2 3 4 5」、プログラム全体がクラッシュし、私にアクセス違反を与えた場合。配列要素を格納するために
'のscanfであろう( "%のD"、ARR [I]);' - > 'のscanf( "%dの"、およびARR [I]);'又は'scanf("%d "、arr + i);' – BLUEPIXY
また、忘れた場合に備えて適切なヘッダファイルが含まれているかどうかを確認してください。 – d3r1ck
@BLUEPIXYありがとう、それは動作するようでした!しかし、arrがすでにポインタそのものであるときに、なぜアドレスポインタを使用しなければならないのですか? – user2519193