Я хочу, чтобы длина этого массива принималась пользователем. пусть n будет введенной длиной; когда я использую mallo c: int *arr1[n] = malloc((sizeof(int) * n) + 1);
, он говорит, что массив переменного размера не может быть инициализирован, есть ли другой способ сделать это?
Я хочу взять массив в качестве ввода от пользователя, отсортировать элементы массива и сохранить отсортированные элементы в другом массиве. Вот мой полный код:
#include <stdio.h>
#include <stdlib.h>
void swap(int *a, int *b)
{
int temp = 0;
temp = *a;
*a = *b;
*b = temp;
}
int main(void)
{
int n = 0;
printf("Enter the number of elements - ");
scanf("%i", &n);
int *arr1[n];
int arr2[] = malloc((sizeof(int) * n) + 1);
printf("Enter the elements one by one - ");
for (int i = 0; i < n; i++)
{
scanf("%i", arr1[i]);
}
free(arr2);
}
Я не объявлял второй массив как arr2 [n], так как n является переменной, и он не позволит мне инициализировать массив с помощью mallo c. Может кто-нибудь помочь мне с этим?