Argument wskaźnik do tablicy znaków, C-string w środku

0

Napisz funkcję, która wywołana jest z dwoma argumentami. Pierwszy to wskaźnik do tablicy znaków, w której jest już jakiś C-string. Drugi to rozmiar tej tablicy.

Dobrze tak: ?

char * funkcja (char * string, int rozmiar);
 
1

Może być, ale jak masz po drodze using namespace std; lub using std::string to się nie skompiluje. Dlaczego zwracany typ to char* i dlaczego nie przyjmujesz char const*? Jak specyfikacja nie mówi, że bufor może być zmieniony to nie powinieneś tego zakładać.

0

a jeszcze mam takie pytanie, tablica wskaźników to:

int * tab[] 

a wskaźnik do tablicy to:

int *wsk 

?

0
nowicjusz35 napisał(a):

a jeszcze mam takie pytanie, tablica wskaźników to:

int * tab[] 

Tak

nowicjusz35 napisał(a):

a wskaźnik do tablicy to:

int *wsk 

?
Nie. To jest wskaźnik na int bądź pierwszy element tablicy intów.

Wskaźnik na tablicę to

int (*tab)[10]
0

ale tablicę można odebrać jako wskaźnik to mój zapis się nie nadaję ? Chodzi mi o zapis jakby to było w deklaracji funkcji.

0

Tablica może być niejawnie przekonwertowana do wskaźnika na jej pierwszy element. Wskaźnik na tablicę i wskaźnik na element to różne rzeczy.

0
int (*tab)[10] 

czyli to oznacza wskaźnik do 10 elementowej tablicy czy do 10 elementu tablicy?

0

Do 10-elementowej tablicy. Już któryś raz polecam cdecl.org, tam mógłbyś sobie to sam sprawdzić ;)
http://cdecl.ridiculousfish.com/?q=int+%28*tab%29[10]

0

Jeszcze raz, jak mam:

int (*tab)[10]  

i

int *tab 

to i tak jako argument podam tablicę to będzie to zerowy element.
Więc nie bardzo rozumiem co miałeś na myśli pisząć: "Wskaźnik na tablicę i wskaźnik na element to różne rzeczy."

0

Gdzie ten argument podasz? Tablica może być niejawnie konwertowana na wskaźnik na jej pierwszy element. Wskaźnik na tablicę nie może, bo to różne rzeczy.

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