Dariusz Wardowski, Łódź 2011
Języki i paradygmaty programowania
laboratorium 2 - wskaźniki i referencje
1.
- Zdefiniuj dwie zmienne x i y typu int o wartościach 10 i 20.
- Użyj operatora adresu aby dowiedzieć się pod jakim adresem zostały zaalokowane pamięci na zmienne?
2.
- Zdefiniuj zmienną liczba typu int o wartości 100.
- Zadeklaruj wskaźnik wsk do wartości typu int.
- Wskaźnikowi wsk przypisz adres zmiennej liczba.
- Wypisz zawartość zmiennej liczba na dwa sposoby: używając zmiennej liczba oraz za pomocą adresu wsk i operatora wyłuskania.
- Wypisz adres zmienne liczba na dwa sposoby: używając zmiennej liczba oraz za pomocą wsk.
- Posługując się adresem wsk zmień wartość zmiennej liczba na wartość 200.
3.
- Utwórz wskaźnik wsk2 do typu double oraz za pomocą operatora new przydziel miejsce na double, na które będzie wskazywał wskaźnik wsk2.
- Do zarezerwowanej pamięci zapisz wartość 2011.03.
- Wypisz wartość na jaką wskazuje adres wsk2.
- Wypisz rozmiar wskaźnika wsk2.
- Wypisz rozmiar wartości na jaką wskazuje adres wsk2.
- Zwolnij zarezerwowaną pamięć za pomocą operatora delete.
4.
- Zarezerwuj blok pamięci na 5 wartości typu int (czyli zdefiniuj w sposób dynamiczny tablicę 5 – elementową).
- Wypisz drugi element tablicy.
- Przypisz wartości do tablicy w sposób losowy.
- Na co wskazuje nazwa tablicy?
- Wypisz pierwszy element tablicy na dwa sposoby (za pomocą operatora indeksu [] oraz używając nazwy tablicy jako adresu)
- Wypisz wszystkie elementy tablicy na dwa sposoby (za pomocą operatora indeksu [] oraz stosując arytmetykę wskaźnikową).
- Zwolnij pamięć.
5.
- Napisz program, który zapyta o dwie liczby naturalne m i n.
- Utwórz w sposób dynamiczny tablicę dwuwymiarową o rozmiarach mxn.
-Wypełnij elementy tablicy w sposób losowy.
- Wypisz elementy tablicy w postaci macierzy prostokątnej.
- Zwolnij pamięć.
Dariusz Wardowski, Łódź 2011
6. Jaka jest różnica pomiędzy następującymi definicjami tablicy znaków?
char T1[5] = „Tekst”;
char T2[4] = {‘T’, ‘e’, ‘k’, ‘s’, ‘t’};
7. Napisz funkcję o nazwie zamiana, która dla podanych dwóch argumentów zamieni ich wartości.