[C++] Wskaznik, wartosc, referencja
Ostatnio zmodyfikowano 2015-11-23 19:48
Piotrekk Temat założony przez niniejszego użytkownika |
[C++] Wskaznik, wartosc, referencja » 2015-11-23 19:39:31 Witam, mam do napisania następujący program: 1) Stwórz 3 funkcje 1. Pobierającą jako argument wartość zmiennej int 2. Pobierającą jako argument wskaźnik na zmienną int 3. Pobierającą jako argument referencję do zmiennej typu int UWAGA - Każda z funkcji ma wyświetlać wartość zmiennej, jej adres, zwiększyć wartość o 1 i ponownie wyświetlić 2) W funkcji main 1. Stwórz zmienną typu int i ustaw jej wartość początkową. 2. Wywołaj każdą z funkcji (a) Jakie są różnice w działaniu funkcji? (b) Jak i czemu zmieniają się wartości zmiennych? Opisz spostrzeżenia w komentarzach Napisałem następujący kod, który nie działa prawidłowo. Uprzejmie proszę o kilka wskazówek co powinienem zmienić i dlaczego. Pozdrawiam. #include "stdafx.h" #include "iostream" using namespace std;
void wartosc( int a ) { cout << "ARGUMENT PRZEZ WARTOSC" << endl; cout << a << endl; cout <<( int ) & a << endl; int b = a + 1; cout << b << endl; cout <<( int ) & b << endl << endl; }
void wskaznik( int * a ) { cout << "ARGUMENT PRZEZ WSKAZNIK" << endl; cout << * a << endl; cout <<( int ) & a << endl; int * b; b = a + 1; cout << * b << endl; cout <<( int ) & b << endl << endl; }
void referencja( int & a ) { cout << "ARGUMENT PRZEZ REFERENCJE" << endl; cout << a << endl; cout <<( int ) & a << endl; int b = a + 1; cout << b << endl; cout <<( int ) & b << endl << endl; }
int main() { int a = 10; wartosc( a ); wskaznik( & a ); referencja( a ); system( "Pause" ); return 0; }
|
|
Monika90 |
» 2015-11-23 19:48:02 Nie rzutuj wskaźników na int. W funkcji wskaznik nie musisz pobierać adresu zmiennej a bo ona już jest wskaźnikiem.
Zamiast #include "iostream" powinno być #include <iostream>, a ponieważ używasz funkcji system to również #include <cstdlib>
No i do zwiększania wartośći zmiennej użyj operatora ++, ewentualnie +=, czyli ++a; a gdy a jest wskaźnikiem to ++*a; |
|
« 1 » |