Jak zwrocic cala tablice

0

Witam!
Mam pewien problem. Otóż zaczynam poznawać wskaźniki i w tym celu pisze różne programy w c++. I mam pewien program, który chciałabym aby zwrócił mi cała tablicę tylko nie umiem tego zrobić :( Bardzo proszę o pomoc... Pozdrawiam :)

Oto program:

#include <iostream>
#include <conio.h>
using namespace std;

int *wczytaj (int n)
{
	cout << "Podaj elementy tablicy" << endl;
	int *tab = new int[n];
	for (int i = 0; i < n; i++)
	{
		cin >> tab[i];
	}
	return tab;
}

int main()
{
	int size = 10;
	int * tab = wczytaj(size);
	cout << "Elementy tablicy " << *tab << endl;

	getch();
	return 0;
}
0

No a nie możesz po prostu zwrócić wskaźnika do jej pierwszego elementu?

0

int size = 10;
int *tab = wczytaj(size);
for(int i=0;i<10;i++)
cout << tab[i] << " ";
cout << endl;

tak w mainie ma byc :]

0

Cysiek, dziekuje :)

A moglbys mi jeszcze wytlumaczyc dalczego tak to ma byc ? Bo nie rozumiem :P

0

funkcja wczytaj zwraca nazwe tablicy, czyli wskaznik do jej poczatku :]
-> int * tab = wczytaj(size); tu jest przypisanie do tab poczatku tablicy :]

jeszcze mozna ewentualnie cos takiego:
for(int i=0;i<10;i++)
cout << *tab++ << " ";

1

@cysiej: może i tak można, ale nie radzę - stracisz wskaźnik na początek tablicy.
@carot23: w momencie kiedy ta tablica nie będzie Ci już potrzebna koniecznie delete [] tab; - żeby zwolnić pamięć zajmowaną przez tą tablicę!

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