В настоящее время я пытаюсь сделать очень простую C-программу для школы, которая создает массив из m целых чисел n (оба из которых определены пользовательским вводом) и либо возвращает местоположение начала массива, либо выдает сообщение об ошибке, если массив не может быть создан. Он прекрасно работает при компиляции с использованием Visual Studio, но когда я попытался скомпилировать его с помощью gcc, он выдает мне кучу сообщений об ошибках, и я просто не понимаю, что их вызывает.
Исходный код:
#include <stdio.h>
int *create_array(int n, int initial_value);
int main(){
int *arr;
int num;
int numOfNum;
printf("Store this integer:\n");
scanf("%d", &num);
printf("Store the integer this amount of time:\n");
scanf("%d", &numOfNum);
arr = create_array(num, 1);
if(arr == NULL) printf("ERROR");
else printf("Array stored in this location: %p", arr);
return 0;
}
int *create_array(int n, int initial_value){
int *pointer;
int i;
pointer = (int *) malloc(sizeof(int) * 10);
for(i = 0; i < n; i++){
int *p;
p = pointer;
p += n*(sizeof(int));
*p = initial_value;
}
return pointer;
}
Ошибка от gcc:
q1.c: In function âmainâ:
q1.c:18: error: missing terminating " character
q1.c:19: error: ânotâ undeclared (first use in this function)
q1.c:19: error: (Each undeclared identifier is reported only once
q1.c:19: error: for each function it appears in.)
q1.c:19: error: expected â)â before âbeâ
q1.c:19: error: missing terminating " character
q1.c:20: error: missing terminating " character
q1.c:21: error: missing terminating " character
q1.c:39: error: expected declaration or statement at end of input