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

Różnica w deklaracji funkcji

0 głosów
127 wizyt
pytanie zadane 10 stycznia 2018 w C i C++ przez Tomek112 Początkujący (310 p.)

Witam,

Mam takowe deklaracje funkcji:

void abc(struct Point* points, int n, struct Point* p);
 
 
void abc(struct Point points[], int n, struct Point* p);
 
 
void abc(struct Point points[N_POINTS], int n, struct Point* p);

Zastanawiam się jakie są różnice w parametrach jakie muszą zostać podane do tych funkcji.

Według mnie wygląda to tak :

Deklaracja 1 funkcji wymagać będzie podania jako parametr wskaźnika do zmiennej strukturalnej typu Point, zmiennej typu integer a także wskaźnika do kolejnej zmiennej strukturalnej typu Point.

Deklaracja 2 funkcji wymagać będzie podania jako parametr wskaźnika do zmiennej przechowującej tablicę struktur typu Point o nieokreślonej długości, zmiennej typu integer a także wskaźnika do zmiennej strukturalnej typu Point.

Deklaracja ostatniej funkcji wymagać będzie podania jako parametr wskaźnika do zmiennej przechowującej tablicę struktur typu Point o określonej długości, zmiennej typu integer a także wskaźnika do zmiennej strukturalnej typu Point.

Mylę się czy dobrze interpretuję ten zapis? Za każdą wskazówkę z góry dziękuje wink

1 odpowiedź

0 głosów
odpowiedź 10 stycznia 2018 przez adrian17 Ekspert (322,420 p.)

Niestety nie. Wszystkie trzy deklaracje są identyczne. Zacytuję ze standardu C++a (w C jest podobnie):

Parameter declarations that differ only in a pointer * versus an array [] are equivalent. That is, the array declaration is adjusted to become a pointer declaration (8.3.5). Only the second and subsequent array dimensions are significant in parameter types (8.3.4).

Example:
int f(char*);
int f(char[]); // same as f(char*);
int f(char[7]); // same as f(char*);
int f(char[9]); // same as f(char*);

Podobne pytania

0 głosów
2 odpowiedzi 117 wizyt
pytanie zadane 20 kwietnia 2019 w C i C++ przez BezBarwny Użytkownik (700 p.)
0 głosów
2 odpowiedzi 147 wizyt
pytanie zadane 18 grudnia 2020 w C i C++ przez pocoxo1124 Nowicjusz (120 p.)
0 głosów
1 odpowiedź 572 wizyt
pytanie zadane 8 kwietnia 2018 w C i C++ przez giedymin33 Początkujący (290 p.)

88,667 zapytań

137,277 odpowiedzi

306,617 komentarzy

58,867 pasjonatów

Motyw:

Akcja Pajacyk

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

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...