• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

co to jest notacja indeksowa i notacja wskaźnikowa

0 głosów
4,918 wizyt
pytanie zadane 1 listopada 2015 w C i C++ przez hamilkar Początkujący (370 p.)

Na zajęciach dostałem zadanie by w języku c zrobić ten program i wyświetlić zawartość stusująć notacje indeksową i notacje wskaźnikową... Tylko czym są te notacje indeksowe i wskaźnikowe ? :P

 

3 odpowiedzi

+3 głosów
odpowiedź 1 listopada 2015 przez Krawiec91 Pasjonat (19,600 p.)

Notacja indeksowa, to sposób odwoływania się do elementów znajdujących się w tablicy za pomocą indeksu, np.
 

int tablica[3];
tablica[0]=1;
tablica[1]=2;
tablica[2]=3;

Liczba, która znajduje się nawiasach kwadratowych w trzech ostatnich instrukcja to właśnie indeks.
 

Notacja wskaźnikowa, do odwoływania się do elementów tablicy wykorzystuje wskaźniki. Nazwa każdej tablicy, jest jednocześnie wskaźnikiem na jej pierwszy element. Dzięki temu wiemy, gdzie znajdują się następne elementy. Przykład użycia notacji wskaźnikowej:
 

int tablica[3];
*(tablica+0)=1;    
*(tablica+1)=2;
*(tablica+2)=3;

Oba zapisy (użycie notacji wskaźnikowej albo indeksowej, są sobie równoważne):
 

int tablica[n];
tablica[0]     ==   *(tablica+0)
tablica[1]     ==   *(tablica+1)
tablica[2]     ==   *(tablica+2)
                  ....
tablica[n-1]  ==   *(tablica+n-1)

 

0 głosów
odpowiedź 1 listopada 2015 przez Boshi VIP (100,240 p.)
Pierwszy raz o czymś takim słyszę, ale domyślam się, że chodzi o wykonanie tego zadania za pomocą normalnie indeksów  tablicy oraz wskaźników.  Dla przećwiczenia obu.
0 głosów
odpowiedź 1 listopada 2015 przez Kaspero Obywatel (1,920 p.)

W C istnieje ścisła zależność między wskaźnikiem a tablicami. Każda operacja może być przeprowadzona przez indeksowanie tablicy, może być również dokonana za pomocą wskaźnika. Deklaracja int A[10]; Definiuje tablicę definuje tablicę 10 liczb typu int. Zapis A[i] oznacza indeksowanie, a gdy używasz wskaźnika to używasz notacji wskaźnikowej czyli:
 

int * pa;
pa = &A[0];  // wskaznik pokazuje element pierwszy w tablice
//lub
pa = A;
//ustawiając pa tak aby wskazywał na zerowy element w tablicy A to znaczy ze pa zawiera adres pierwszego elementu
/teraz możesz iterować tablicę dzięki komendzie:
int w= pa+1; // oznacza że w będzie równe drugiemu elementowi tablicy

int *pa;
pa  = A;

puts("Wyświetlenie zawartości tablicy A");
for(i=0;i<10;i++) printf("%d ",(pa+1));

 

Podobne pytania

0 głosów
1 odpowiedź 661 wizyt
pytanie zadane 14 marca 2019 w C i C++ przez Curiosis Użytkownik (540 p.)
0 głosów
1 odpowiedź 914 wizyt
pytanie zadane 6 lipca 2015 w C i C++ przez mrcnsct Nałogowiec (36,390 p.)
+1 głos
2 odpowiedzi 1,641 wizyt
pytanie zadane 16 kwietnia 2015 w SQL, bazy danych przez Damianexo Obywatel (1,710 p.)

93,720 zapytań

142,646 odpowiedzi

323,267 komentarzy

63,270 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...