1. Wskaźniki w języku C++

7.1. Posługiwanie się typem wskaźnikowym w programowaniu

Cel ćwiczenia:

Nowe zagadnienia:

Definicje nowych pojęć do przyswojenia:

Wskaźnik - obiekt, w którym zapisany jest adres do innego obiektu.

Składnia deklaracji użycia wskaźnika:

0x08 graphic
0x08 graphic
0x08 graphic
float *d;

Nazwa wskaźnika

Gwiazdka oznacza, że jest to wskaźnik

Typ obiektu wskazywanego przez wskaźnik

Składnia ustawienia wskaźnika na dany obiekt:

int z, *w; (1)

w = &z; (2)

(1) deklaracja obiektu o nazwie z (obiekt typu całkowitego - int) oraz wskaźnika do obiekty typu całkowitego o nazwie w,

(2) zapisanie do obiektu w (do wskaźnika) adresu obiektu z (&z - adres obiektu z)

Od tego momentu można odwoływać się do obiektu z na dwa sposoby:

(1) bezpośrednio, np.: z = z + 1;

(2) poprzez wskaźnik: *w = *w + 1;

Obie operacje dają ten sam rezultat (zwiększenie wartości zapisanej w obiekcie z o 1).

Napisz program zwiększający parametry a=1 i b=1 o stałe wartości (np. 100 i 10, odpowiednio). Zwiększenie wartości parametrów powinno odbywać się w oddzielnej funkcji wywoływanej ze wskaźnikami do parametrów a i b.

0x08 graphic

Kod źródłowy

#include <iostream.h>

#include <conio.h>

void zwiekszenie(int *wsk1, int *wsk2);

main()

{

int a = 1, b = 1, *wsk_a, *wsk_b;

cout<<"Przed zwiekszeniem wartosci a = "<<a<<" i b = "<<b<<endl;

wsk_a = &a;

wsk_b= &b;

zwiekszenie(wsk_a, wsk_b);

cout<<endl<<"Po zwiekszeniu wartosci a = "<<a<<" i b = "<<b<<endl;

getch();

return(0);

}

void zwiekszenie(int *wsk1, int *wsk2)

{

*wsk1 += 100;

*wsk2 += 10;

}

Zadania 7.1

Wskaźniki

  1. Napisz program, który zapyta o dwie wartości liczbowe. Program ma za zadanie:

    1. stworzyć wskaźniki do obiektów, gdzie zapisano podane wartości,

    2. wyświetlić zawartość obiektów oraz ich adresy przy użyciu wskaźników.

  1. Stwórz program zamieniający wartości dwóch zmiennych, wprowadzone z klawiatury. Zamianę wartości powinna wykonywać funkcja zamiana wywoływana z dwoma wskaźnikami do obiektów, gdzie przechowywane są wartości zmiennych.

  1. Napisz program obliczający silnię dla liczby podanej z klawiatury. Obliczenia powinny być przeprowadzone w oddzielnej funkcji wywoływanej ze wskaźnikiem.

  1. Napisz program, w którym do kolejnych elementów tablicy jednowymiarowej będą wpisywane kolejne wartości potęgi liczby 2 (tzn. element [0] = 20, element [1] = 21 itd.). Liczbę elementów tablicy należy wprowadzić z klawiatury. Do zapisania elementów w tablicy użyj funkcji wywoływanej ze wskaźnikiem.

  1. Napisz program realizujący mnożenie jednowymiarowej tablicy o dziewięciu elementach przez dowolną liczbę. Do mnożenia użyj funkcji wywoływanej ze wskaźnikiem do tablicy.

  1. Stwórz program służący do odwracania kolejności znaków w dowolnym stringu. Użyj wskaźników.


Ćwiczenia laboratoryjne nr 7.1

„Język Programowania” str. 3

3

Ćwiczenia laboratoryjne

„Język programowania” nr 7.1

2

Przed zwiększeniem

a= 1 b = 1

Po zwiększeniu

a= 101 b = 11

START

STOP

a = 1 b = 1

wsk_a = &a

wsk_b = &b

ZWIĘKSZENIE

Zwiększenie wartości a i b