Tablica jednowymiarowa

Tablica jednowymiarowa
EX
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 24
0

Cześć, Chciałbym się dowiedzieć jak w jezyku C, stworzyć tablice dla której, osoba odpalająca moj program, bedzie mogla określić liczbę jej elementow?

Chciałbym aby uzytkownik, w moim programie mógl sam okreslic ilu elementowa tablice chce posortować,

hauleth
  • Rejestracja: dni
  • Ostatnio: dni
3

man 3 malloc

EX
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 24
0

Mógłbym poprosić o kod, ktory zaprezentuje jak dziala ta funkcja?

SI
  • Rejestracja: dni
  • Ostatnio: dni
0

Szukaj pod tablica dynamiczna. Nie wiem czy to jeszcze istnieje, ale w przypadku kompilatora GCC dało się kiedyś dać rozmiar tablicy jako zmienną wczytywaną z klawiatury.

YooSy
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 472
atmal
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 913
4

C99 obsługuje VLA więc można zrobić:

Kopiuj
int main()
{
    int size;
    scanf("%d", &size);
    int arr[size];
}

Ewentualnie tak jak wyżej napisano, używając malloc:

Kopiuj
int main()
{
    int size;
    scanf("%d", &size);
    int *arr = (int*)malloc(sizeof(int) * size);
    // Pamiętaj o zwolnieniu pamięci:
    free(arr);
}

Do malloca podajesz rozmiar jaki chcesz (w bajtach). sizeof(int) zwraca rozmiar w bajtach jednej zmiennej typu int więc należy pomnożyć to z ilością jaką chcesz mieć. Następnie zwrócony zostanie wskaźnik na przydzielony obszar tablicy albo NULL gdy przydzielenie pamięci się nie powiodło (z braku dostępnego miejsca).

EX
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 24
0

Dziękuję.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.