Alokacja struktury wewnątrz struktury

Odpowiedz Nowy wątek
2019-08-22 21:12
0
typedef struct {
    int *llst;
} arr2;

typedef struct {
    arr2 **table;
} arr;

arr *lista = (arr *)malloc(sizeof(arr));      // alokacja 1 strutury arr
lista->table = (arr2 **)malloc(sizeof(arr2)); // alokacja 2 struktury
int tablex[] = { 10 };                        // tablica z 1 elementem który ma być przypisany do struct arr2
lista->table[0] = (arr2 *)malloc(2);          // alokacja 2 tablicy czyli arr2
lista->table[0]->llst = tablex;               // przypisanie tablicy tablex do llst w struct 2 

Czy poprawnie alokuje pamięć?

edytowany 11x, ostatnio: wdfan, 2019-08-22 21:30

Pozostało 580 znaków

2019-08-22 22:48
2
wdfan napisał(a):

Mam taką strukture i nie moge jej zmieniać jedynie mam pisać na jej podstawie kod.

wdfan napisał(a):

To nie żadne zadanie, po prostu własny projekt.

WTF?

Własny projekt tak, ale struktura ma być według tego schematu. - wdfan 2019-08-22 23:01
Więc nasuwa się pytanie, po co sobie na siłę utrudniać :> Nie możesz tego napisać w C++? - tajny_agent 2019-08-22 23:34
Przyzwyczajenie (głownie przez mały rozmiar pliku wynikowego), no i ogólnie polubiłem C nie polubiłem się z objektowością. - wdfan 2019-08-22 23:42
Ale pisanie w C++ wcale nie wymusza pisania OOP. Byłoby łatwiej coś podpowiedzieć gdybyś przedstawił kontekst, bo póki co to walczysz z samym językiem a nie z problemem - tajny_agent 2019-08-22 23:54
Kompilator mam ustawiony w C++, wiem, że mozna pisać w C++ i pisać kod w C. - wdfan 2019-08-23 00:02

Pozostało 580 znaków

2019-08-23 10:50
2

Jeśli chcesz pisać w C, to nie kompiluj tego jako C++.
Zmień nazwę pliku żeby miał rozszerzenie .c

edytowany 1x, ostatnio: Azarien, 2019-08-23 10:51

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0