Jak przekazać tablicę struktur do funkcji przez referencję?

0

Mam taką oto tablicę: UCZEN* tablica=new UCZEN[MAX];

Chciałbym ją przekazać przez referencję do funkcji

void sortuj(UCZEN tablica[MAX], int i, int odp)

Co wpisać w nawiasie, aby tablica była przekazana przez Referencję, a nie kopiowana do pamięci, bo mój nauczyciel tak chce. Normalnie wiem tylko, że jak jest int to dajemy int& itd. ale jak z tą tablicą?

0
void sortuj(UCZEN tablica[] /*lub UCZEN* tablica*/, int i, int odp); 
0

Z tego co mi wiadomo, to tablice nie są kopiowane, bo przekazywany jest jedynie wskaźnik.

Czyli tak jak jest, jest dobrze.

Zrób sobie eksperyment:

#include <cstdio>
using namespace std;

struct A{
 public:
  int a;		
};

void t(A t[10]){
 for(int i=0; i<10; i++)
   t[i].a*=10;
}

int main(){
 A *tab=new A[10];
 for(int i=0; i<10; i++)
   tab[i].a=i+1;
 t(tab);
 for(int i=0; i<10; i++)
   printf("%d ", tab[i].a);
 return 0;
}

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