Witam,
Uczę się aktualnie wskaźników i mam do nich parę pytań na podstawie kodu:
Pierwsze moje takie pytanie to czy znak & służy jedynie do wyciągania adresu danej wartości z tablicy?
Bo tak naprawdę dając int* x=y; to gdy wypiszemy x to poda nam cały adres do y bez użycia &.
Więc się tak zastanawiam czy & najlepiej używać do wyjęcia tylko danych adresów z tablicy.
Drugie pytanie to bardziej do kodu. Czy gdy jest wypisywana wartosc *wsk_waga nie powinny wyświetlić się wszystkie liczby z tablicy, a nie tylko pierwsza?
//Wskaźniki drugie starcie---------------
#include <iostream>
#include <conio.h>
int main()
{
using namespace std;
//tablice deklaracia inicjalizacja
double waga[ 5 ] = { 55.3, 747.8, 1001.2, 5.2, 6.4 };
short odliczanie[ 4 ] = { 3, 2, 1, 0 };
//wskaźniki
double * wsk_waga = waga; //nazwa tabeli = adres
short * wsk_odliczanie = & odliczanie[ 0 ];
//Wyświetlanie adresu i wartości wskaźnika wsk_waga
cout << "wsk_waga = " << wsk_waga
<< ", *wsk_waga = " << * wsk_waga
<< endl
<< "Dodawanie wsk_waga + 1 ";
wsk_waga += 1;
cout << "\nTeraz wsk_waga = " << wsk_waga
<< ", *wsk_waga = " << * wsk_waga << endl
<< endl;
//Wyświetlanie adresu i wartości wskaźnika wsk_odliczanie
cout << "wsk_odliczanie = " << wsk_odliczanie
<< ", *wsk_odliczanie = " << * wsk_odliczanie
<< endl
<< "Dodawanie wsk_odliczanie + 1 ";
wsk_odliczanie += 1;
cout << "\nTeraz wsk_odliczanie = " << wsk_odliczanie
<< ", *wsk_odliczanie = " << * wsk_odliczanie << endl
<< endl;
//Wyświetlanie zapisu tablicowego
cout << "\nPodobienstwa tablic i wskaznikow\n"
<< "Pierwszy element tab waga[0] = "
<< waga[ 0 ] << endl
<< "Drugi element tab odliczanie[1] = "
<< odliczanie[ 1 ] << endl << endl;
//Wyświetlanie zapisu wskaźnikowego
cout << "Pierwszy element tab waga "
"z uzyciem wskaznika *waga = "
<< * waga << endl
<< "Drugi element tab odliczanie "
"z uzyciem wskaznika *(odliczanie + 1) = "
<< *( odliczanie + 1 ) << endl << endl << endl;
//porównanie wielkości tablic i wskaźników
cout << "Tablica waga wazy " << sizeof( waga )
<< " bajtow!" << endl
<< "Jednak wskaznik na ta tablice *wsk_waga "
<< "wazy tylko " << sizeof( wsk_waga )
<< " bajty!" << endl;
getch();
return 0;
}
//---------------------------------------