Przekazywanie tablicy jako parametr funkcji - pytanie o teorię
Ostatnio zmodyfikowano 2016-06-02 20:38
Szkaplerny Temat założony przez niniejszego użytkownika |
Przekazywanie tablicy jako parametr funkcji - pytanie o teorię » 2016-06-02 20:23:38 Na kursie można przeczytać, że 'tablice przekazywane do funkcji nigdy nie są kopiowane'. Oznacza to, że pracujemy na oryginałach. Czy powodem tego faktu jest to, że kompilator przetwarza przesłaną w parametrze tablice na wskaźnik (na pierwszy element)? |
|
Monika90 |
» 2016-06-02 20:38:48 To błąd w projekcie języka C - nie da się zadeklarować funkcji która pobiera tablicę przez wartość.
Nawet jak napiszesz coś takiego: void f(int t[10]);
to kompilator potraktuje to jakbyś napisał: void f(int* t);
Potem można taką funkcję wywołać tak:
int a[100]; f(a);
A działa to dzięki niejawnej konwersji z tablicy do wskaźnika na jej pierwszy element. |
|
« 1 » |