wskaznik do tablicy o nieokreślonym rozmiarze

0

Witam
Mam pytanie o sposób zainicjowania wskaźnika do tablicy o niesprecyzowanym rozmiarze który definiujemy w następujący sposób:

char (*r)[];

teraz próbując go zainicjować tablicą:
char t[5];
czy

char t[]={1,2,3,4,5};

i przy przypisaniu:

  r=&t;

dostajemy
cannot convert 'char ()[5]' to 'char ()[]' in assignment

Czy ma ktoś pomysł jak należy taki wskaźnik zainicjować ? Pytanie czysto teoretyczne bez zastosowania, ale szukam już odpowiedzi od 2h i nigdzie nic nie ma.

z góry dzięki

0
char *r;
char t[]={1,2,3,4,5};
r = t;
0

nie chodzi mi o utworzenie zwykłej tablicy i potraktowanie jej wskaźnikiem
tylko utworzenie wskaźnika do tablicy. Tablica może być inicjowana w dowolnym momencie.
czyli:

 char (*wsk)[]

a potem dynamiczne utworzenie tablicy
np.:

cin >> x; 
char * tab = new char[x];

i teraz jak skorzystać ze wskaźnika wsk aby wskazywał nam na tablicę tab ?? jeśli na tak utworzoną tablicę się nie da to jak sprawić aby tak zdefiniowany wskaźnik pokazywał na cokolwiek ??

0

Najłatwiej sprawdzić co mówi o tym standard:
"The type of a pointer to array of unknown size, or of a type
defined by a typedef declaration to be an array of unknown size, cannot be completed."

oraz zerknij tutaj
Wynika z tego, że deklarowanie takiego wskaźnika jest bezużyteczne.

0

jeśli znamy rozmiar, to dajemy po prostu

char (*r)[27];

a jeśli nie, to

char **r;

albo po prostu

char *r;

ewentualnie w C++

char* &r;

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