wskaźniki, referencja, struktura - pomoc

0

Witam serdecznie. Jako, że rozpoczynam dopiero swoją przygodę z programowaniem natknąłem się na mały teścik. Nie wiem jakie odpowiedzi są dobre w następujących pytankach.

  1. Jaki występuje związek między zmiennymi wskaźnikowymi i tablicami?
    a) nazwa tablicy jednowymiarowej adresuje element w tablicy o indeksie [1]
    b) wskaźniki nie mogą być elementami tablicy
    c) indeks w tablicy jest zmienną typu wskaźnikowego
    d) w tablicach przechowywane są tylko wskaźniki na elementy umieszczone w pamięci
    e) indeks w tablicy jest offsetem od początku tablicy gdzie znajduje się dany element
    f) wskaźniki mogą być elementami tablicy

  2. Stos jest strukturą dynamiczną, która cechuje się tym, że:
    a) z dna stosu pobierane są dane zgodnie z buforem FIFO
    b) posiada wskaźnik na wierzchołek
    c) wskaźnik na wierzchołek pozostaje niezmienny
    d) na wierzchołek odkładane są dane, które przesuwają się w kierunku dna
    e) wskaźnik na wierzchołek nie może mieć wartości NULL
    f) program może pobrać dane z wierzchołka zgodnie z buforem LIFO
    g) podsiada wskaźnik na dno
    h) wskaźnik na dno pozostaje niezmienny

  3. Definicja funkcji z użyciem referencji:
    a) jest możliwa w C i C++
    b) tworzy na stosie kopie wartości przekazanych w argumencie referencyjnym
    c) powoduje, że odwołania do wartości argumentów referencyjnych odbywają się jak do zmiennych wskaźnikowych
    d) zapamiętuje wartości argumentów referencyjnych z poprzedniego wywołani funkcji
    e) umożliwia modyfikację oryginalnych zmiennych użytych w argumentach

  4. Wybierz prawdę o strukturach i uniach:
    a) można używać zamiennie struktur i unii o tej samej nazwie w programie
    b) unie mogą być konwertowane do struktur
    c) struktury mogą być konwertowane do unii
    d) struktury można inicjalizować wartościami domyślnymi dla składników
    e) struktury posiadają większe rozmiary w pamięci niż unie o tych samych składnikach

  5. Które stwierdzenia są prawdziwe dla struktur dynamicznych zwanych kolejkami?:
    a) początek i koniec są na stałych pozycjach określając pojemność bufora
    b) pobieranie danych odbywa się w odwrotnej kolejności co dodawanie danych
    c) nowe węzły są dodawane w odpowiednich miejscach uporządkowanych rosnąco lub malejąco
    d) dowolne elementy mogą być usuwane na żądanie programu
    e) posiada zmienny początek i koniec, podobnie jak w buforach FIFO
    f) pobieranie danych odbywa się w tej samej kolejności co dodawanie danych

Wiem, że może być ich kilka. Moje typowanie jest następujące:

  1. c,d
  2. f,g,h
  3. c,e
  4. d,e
  5. e,f

Co wy byście wybrali i dlaczego?

0

Kilka wg mnie
1.
indeks jest zwykle typu unsigned int aka size_t, więc c chyba nie.
d) Zależy co rozumieć przez 'pamięć'
e) prawda, jest offsetem przykładowo

int z[20];
z[5] = 15;
printf("%d", z[5] == 5[z]); // base[offset] / offset[base] 

z pewnością b, d (stos rośnie w kierunku niższych adresów)

3 imo ok masz.

0

Wg mnie (uczę się, nie bierz tego jako prawdę objawioną (:)

a - bzdura
b - bzdura
c - bzdura
d - nie
e - w bajtach czy w liczbie elementów? Nieprecyzyjne. Więc nie.
f - tak

  1. To całe pytanie jest dziwne wg mnie
    a - bzdura
    b - zależy od implementacji, więc nie
    c - zależy od implementacji, więc nie
    d - zależy od implementacji, więc nie
    e - zależy od implementacji, więc nie
    f - tak
    g - zależy od implementacji, więc nie
    h - zależy od implementacji, więc nie

a - nie
b - nie
c - no załóżmy, że tak
d - nie
e - tak, jeżeli nie jest to const ref

4
a - nie
b - nie
c - nie
d - tak
e - tak, jeżeli mamy więcej niż jeden "składnik"

5
a - zależy od implementacji, więc nie
b - zależy od implementacji, więc nie
c - zależy od implementacji, więc nie
d - zależy od implementacji, więc nie
e - zależy od implementacji, ale załóżmy, że tak
f - nie zawsze, np. kolejka priorytetowa, więc nie

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