Tablica wskaźników

Tablica wskaźników
LI
  • Rejestracja:prawie 11 lat
  • Ostatnio:ponad 10 lat
  • Postów:22
0

Witam, mam taki kod

Kopiuj
#include <stdio.h>
int main(int argc, char * argv[]) {

    char a[4] = "raz";
    char b[4] = "dwa";

    char * tab[] = {&a, &b};

    printf("%c", **tab);

    return 0;
}

Działa on zgodnie z moim zamiarem czyli wyświetla literkę "r". Jak odnieść się do drugiego elementu tabeli aby wyświetliło literkę "d"?

_13th_Dragon
  • Rejestracja:ponad 19 lat
  • Ostatnio:około 9 godzin
0
Kopiuj
#include <stdio.h>
int main()
  {
    char a[4] = "raz";
    char b[4] = "dwa";
 
    char *tab[]={a,b};
 
    printf("%c %c\n",tab[0][0],tab[1][0]);
    printf("%c %c\n",*(tab[0]),*(tab[1]));
    return 0;
  }

Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
Wibowit
  • Rejestracja:około 20 lat
  • Ostatnio:około 7 godzin
1

Można też nieco zaszaleć:

Kopiuj
#include <stdio.h>
int main(int argc, char * argv[]) {
 
    char a[4] = "raz";
    char b[4] = "dwa";
 
    char * tab[] = {a, b};
 
    printf("%c", 0[1[tab]]);
 
    return 0;
}

http://ideone.com/P7dC9t

:D


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
edytowany 1x, ostatnio: Wibowit
Wibowit
taka specyfika C :] można odwracać miejscami indeksy i wskaźniki.

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.