> C++ dynamiczna alokacja/rezerwacja/przydział pamięci. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki
|
|
- Damian Leśniak
- 6 lat temu
- Przeglądów:
Transkrypt
1 > C++ dynamiczna alokacja/rezerwacja/przydział pamięci Dane: Iwona Polak Uniwersytet Śląski Instytut Informatyki
2 > Dzisiejsze zajęcia sponsorują słówka: new oraz delete ++ dynamiczna alokacja/rezerwacja/przydział pamięci 2 / 16
3 > Stos i sterta Stos przechowuje m.in. zmienne globalne, zmienne statyczne, parametry funkcji. Sterta wydzielony obszar wolnej pamięci kontrolowany ręcznie przez programistę, przeznaczony do przechowywania danych dynamicznych. C++ dynamiczna alokacja/rezerwacja/przydział pamięci 3 / 16
4 > Dynamiczna alokacja/rezerwacja/przydział pamięci char *wskaznik; wskaznik = new char; *wskaznik = A ; delete wskaznik; // utworzenie obiektu // ten obiekt nie ma nazwy, // tylko adres przypisany do wskaznik // likwidacja obiektu ++ dynamiczna alokacja/rezerwacja/przydział pamięci 4 / 16
5 > Dynamiczna alokacja/rezerwacja/przydział pamięci char *wskaznik; wskaznik = new char; *wskaznik = A ; delete wskaznik; // utworzenie obiektu // ten obiekt nie ma nazwy, // tylko adres przypisany do wskaznik // likwidacja obiektu float *w; w = new float [16]; w[0] = 3.14; delete [] w; // dla tablic: // wskaźnik definiujemy jak zwykle // dodajemy rozmiar tablicy // przy likwidacji trzeba pamiętać // o nawiasach kwadratowych ++ dynamiczna alokacja/rezerwacja/przydział pamięci 4 / 16
6 Do każdego new powinno być jedno delete. C++ dynamiczna alokacja/rezerwacja/przydział pamięci 5 / 16
7 > Na rozgrzewkę Zadeklaruj wskaźnik a typu całkowitoliczbowego. Następnie: * Użyj słowa kluczowego new, aby przydzielić pamięć i stworzyć dynamiczny obiekt, na który będzie wskazywać a. * Przypisz do obiektu wartość 64. * Wyświetl adres przechowywany w a. * W osobnym wierszu wyświetl wartość z a. * Usuń dynamicznie przydzieloną pamięć przy pomocy słowa kluczowego delete. C++ dynamiczna alokacja/rezerwacja/przydział pamięci 6 / 16
8 > Cechy obiektów stworzonych operatorem new 1. My decydujemy o czasie ich życia (od new do delete). 2. Nie mają nazwy. (Możemy nimi operować tylko poprzez wskaźniki). 3. Nie obowiązują ich zwykłe zasady o zakresie ważności. (Mamy wskaźnik, który na obiekt pokazuje = mamy dostęp). 4. Zaraz po utworzeniu tkwią w nich jeszcze śmieci. C++ dynamiczna alokacja/rezerwacja/przydział pamięci 7 / 16
9 > I jeszcze raz int *tab; tab = new int [rozmiar]; // lub razem: int *tab = new int [rozmiar]; // np. cout << "Ile elementow ma miec tablica?"<< endl; int rozmiar; cin >> rozmiar; int *tab = new int[rozmiar]; // utworzenie tablicy o rozmiarze podanym przez użytkownika... delete [] tab; // likwidacja tablicy tab = NULL; // dla bezpieczeństwa ++ dynamiczna alokacja/rezerwacja/przydział pamięci 8 / 16
10 > I jeszcze raz int *tab; tab = new int [rozmiar]; // lub razem: int *tab = new int [rozmiar]; // np. cout << "Ile elementow ma miec tablica?"<< endl; int rozmiar; cin >> rozmiar; int *tab = new int[rozmiar]; // utworzenie tablicy o rozmiarze podanym przez użytkownika... delete [] tab; // likwidacja tablicy tab = NULL; // dla bezpieczeństwa Programista musi kontrolować zakres tablicy i poprawność indeksów! C++ dynamiczna alokacja/rezerwacja/przydział pamięci 8 / 16
11 Do każdego new powinno być C++ dynamiczna alokacja/rezerwacja/przydział pamięci 9 / 16
12 Do każdego new powinno być jedno delete. C++ dynamiczna alokacja/rezerwacja/przydział pamięci 9 / 16
13 Do każdego new powinno być jedno delete. ZAWSZE. C++ dynamiczna alokacja/rezerwacja/przydział pamięci 9 / 16
14 > Ćwiczenie czyni mistrza 1. Napisz program, który pyta użytkownika o liczbę naturalną, maksymalnie 25 (musisz to zweryfikować). Na tej podstawie tworzy tablicę tej wielkości (alokowaną dynamicznie). Do tablicy wczytuje kolejno liczby podane przez użytkownika. Po podaniu wszystkich liczb: * liczby na indeksach parzystych zamienia na dodatnie, * liczby na indeksach nieparzystych zamienia na ujemne. Następnie należy wydrukować wszystkie liczby na ekranie. 2. Napisz program, który tworzy tablicę (alokowaną dynamicznie) o wielkości wylosowanej z przedziału <16,32>. Następnie wypełnia ją kolejnymi potęgami dwójki, zaczynając od 2 0 dla indeksu 0. Na koniec wydrukuj zawartość tablicy na ekran w następujący sposób: [0] 2ˆ0 = 1 [1] 2ˆ1 = 2 [2] 2ˆ2 = 4 itd. C++ dynamiczna alokacja/rezerwacja/przydział pamięci 10 / 16
15 > Zagadka Co tu się wyświetli? ++ dynamiczna alokacja/rezerwacja/przydział pamięci 11 / 16
16 > Zagadka Co tu się wyświetli? A jak się dostać do obiektu 50? ++ dynamiczna alokacja/rezerwacja/przydział pamięci 11 / 16
17 > Zagadka Co tu się wyświetli? A jak się dostać do obiektu 50? STRACONY! :-( ++ dynamiczna alokacja/rezerwacja/przydział pamięci 11 / 16
18 > Tablice dwuwymiarowe Zapis typ_zmiennej *tablica=new typ_zmiennej[x][y]; nie stworzy tablicy dwuwymiarowej. Trzeba inaczej: C++ dynamiczna alokacja/rezerwacja/przydział pamięci 12 / 16
19 > Tablice dwuwymiarowe Zapis typ_zmiennej *tablica=new typ_zmiennej[x][y]; nie stworzy tablicy dwuwymiarowej. Trzeba inaczej: Czego tu brakuje? C++ dynamiczna alokacja/rezerwacja/przydział pamięci 12 / 16
20 > Tablice dwuwymiarowe (i nie tylko) Prawidłowa konstrukcja (oraz destrukcja) (3 x 4) char **tab = new char*[3]; for (size_t i = 0; i < 3; i++) tab[i] = new char[4];... tab[0][2] = 128;... for (size_t i = 0; i < 3; i++) delete[] tab[i]; delete[] tab; ++ dynamiczna alokacja/rezerwacja/przydział pamięci 13 / 16
21 > Tablice dwuwymiarowe (i nie tylko) Prawidłowa konstrukcja (oraz destrukcja) (3 x 4) char **tab = new char*[3]; for (size_t i = 0; i < 3; i++) tab[i] = new char[4];... tab[0][2] = 128;... for (size_t i = 0; i < 3; i++) delete[] tab[i]; delete[] tab; Kolejne wymiary: analogicznie. C++ dynamiczna alokacja/rezerwacja/przydział pamięci 13 / 16
22 > Tablice dwuwymiarowe (i nie tylko) Prawidłowa konstrukcja (oraz destrukcja) (3 x 4) char **tab = new char*[3]; for (size_t i = 0; i < 3; i++) tab[i] = new char[4];... tab[0][2] = 128;... for (size_t i = 0; i < 3; i++) delete[] tab[i]; delete[] tab; Kolejne wymiary: analogicznie. C++ dynamiczna alokacja/rezerwacja/przydział pamięci 13 / 16
23 > Wyższy wymiar ćwiczeń 1. Stwórz trójwymiarową tablicę dynamiczną. 2. Stwórz tablicę trójkątną o dowolnym rozmiarze i wypełnij ją kolejnymi wartościami zgodnie ze wzorem: itd. 3. Ułóż program obliczający sumę S elementów o indeksach parzystych tabeli dwuwymiarowej. Dla tabeli T [4][5] będzie to suma S = T [0][0] + T [0][2] + T [0][4] + T [2][0] + T [2][2] + T [2][4]. Wielkość tabeli jest pobierana od użytkownika i wypełniana losowymi liczbami całkowitymi. (Oczywiście pamięć ma być przydzielona dynamicznie.) ++ dynamiczna alokacja/rezerwacja/przydział pamięci 14 / 16
24 > Ćwiczenie (trochę bardziej rozbudowane) Zadeklaruj strukturę składającą się z trzech pól: double, int oraz char. 1.2 Napisz funkcję przyjmującą jeden parametr (wskaźnik na utworzoną przez siebie strukturę) i pozwalającą na ustawienie wszystkich trzech pól wartościami przeczytanymi od użytkownika z klawiatury. 1.3 Napisz funkcję wypisującą wartości elementów struktury (przykładowe wyjście: A ). 1.4 W funkcji main(): Zainicjuj generator liczb pseudolosowych Pobierz od użytkownika wartość typu int Zadeklaruj dynamicznie alokowaną tablicę o rozmiarze pobranym od użytkownika w poprzednim podpunkcie Wypełnij wszystkie pola wszystkich struktur w tablicy wartościami losowymi Wypisz całą tablicę struktur na ekran. W tym celu użyj funkcji napisanej w punkcie dynamiczna alokacja/rezerwacja/przydział pamięci 15 / 16
25 > Wycieki pamięci i wiszące wskaźniki /* zmienna na stercie, do której nie mamy żadnego wskaźnika */ void fun() { int *wsk = new int; //rezerwacja pamięci na liczbę typu int *wsk = 20; //wpisanie w zarezerwowane miejsce wartości } // po wyjściu z funkcji *wsk już nie istnieje, // ale pamięć dalej jest zaalokowana /* wskaźnik odnoszący się do zmiennej, która została już zdealokowana */ int *wsk = new int; //rezerwacja pamięci na liczbę typu int delete wsk; //dealokacja zmiennej C++ dynamiczna alokacja/rezerwacja/przydział pamięci 16 / 16
Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady
Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4 Dr inż. Dariusz JĘDRZEJCZYK Wskaźniki Dynamiczna alokacja pamięci Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Wskaźnik to
Bardziej szczegółowoLaboratorium nr 9. Temat: Wskaźniki, referencje, dynamiczny przydział pamięci, tablice dynamiczne. Zakres laboratorium:
Laboratorium nr 9 Temat: Wskaźniki, referencje, dynamiczny przydział pamięci, tablice dynamiczne. Zakres laboratorium: wskaźniki referencje zastosowanie wskaźników wobec tablic dynamiczny przydział pamięci,
Bardziej szczegółowoDYNAMICZNE PRZYDZIELANIE PAMIECI
DYNAMICZNE PRZYDZIELANIE PAMIECI Pamięć komputera, dostępna dla programu, dzieli się na cztery obszary: kod programu, dane statyczne ( np. stałe i zmienne globalne programu), dane automatyczne zmienne
Bardziej szczegółowoZmienne i struktury dynamiczne
Zmienne i struktury dynamiczne Zmienne dynamiczne są to zmienne, które tworzymy w trakcie działania programu za pomocą operatora new. Usuwa się je operatorem delete. Czas ich występowania w programie jest
Bardziej szczegółowo> C++ wskaźniki. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki 26 kwietnia 2017
> C++ wskaźniki Dane: Iwona Polak iwona.polak@us.edu.pl Uniwersytet Śląski Instytut Informatyki 26 kwietnia 2017 >??? Co to jest WSKAŹNIK? ++ wskaźniki 2 / 20 >??? Co to jest WSKAŹNIK? To po prostu ADRES
Bardziej szczegółowoProgramowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40
Programowanie w C++ Wykład 5 Katarzyna Grzelak 26 marca 2018 9 kwietnia 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40 Pojęcia z poprzedniego wykładu Podział programu na funkcje podział na niezależne
Bardziej szczegółowoKonwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki
Konwersje napis liczba Struktury, unie Scanf / printf Wskaźniki Konwersje liczba napis Ćwiczenia 1. Napisz aplikację, która na wejściu dostaje napis postaci W Roku Pańskim 1345, władca Henryk 12,
Bardziej szczegółowoTypy wyliczeniowe Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki
Typy wyliczeniowe Konwersje napis liczba Struktury, unie Scanf / printf Wskaźniki Typy wyliczeniowe Służą do łatwiejszej kontroli nad stałymi Ustawianie parametrów o ściśle określonym zbiorze wartości
Bardziej szczegółowoWykład 1: Wskaźniki i zmienne dynamiczne
Programowanie obiektowe Wykład 1: Wskaźniki i zmienne dynamiczne 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD Podstawy programowania w C++ Wskaźniki 2 dr Artur Bartoszewski - Programowanie
Bardziej szczegółowoLab 9 Podstawy Programowania
Lab 9 Podstawy Programowania (Kaja.Gutowska@cs.put.poznan.pl) Wszystkie kody/fragmenty kodów dostępne w osobnym pliku.txt. Materiały pomocnicze: Wskaźnik to specjalny rodzaj zmiennej, w której zapisany
Bardziej szczegółowoDeklaracja struktury w C++
Struktury to złożone typy danych pozwalające przechowywać różne informacje. Za pomocą struktur możliwe jest grupowanie wielu zmiennych o różnych typach w jeden obiekt. Strukturę można nazywać obiektem
Bardziej szczegółowoTablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011
Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Załóżmy, że uprawiamy jogging i chcemy monitorować swoje postępy. W tym celu napiszemy program, który zlicza, ile czasu
Bardziej szczegółowo1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami
1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami Celem tych zajęć jest zrozumienie i oswojenie z technikami programowania przy pomocy wskaźników w języku C++. Proszę przeczytać rozdział 8.
Bardziej szczegółowoKURS C/C++ WYKŁAD 6. Wskaźniki
Wskaźniki KURS C/C++ WYKŁAD 6 Każda zmienna ma unikalny adres wskazujący początkowy obszar pamięci zajmowany przez tą zmienną. Ilość pamięci zajmowanej przez zmienną zależy od typu zmiennej. Adres można
Bardziej szczegółowoZASADY PROGRAMOWANIA KOMPUTERÓW
POLITECHNIKA WARSZAWSKA Instytut Automatyki i i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW Język Język programowania: C/C++ Środowisko programistyczne: C++Builder 6 Wykład 9.. Wskaźniki i i zmienne dynamiczne.
Bardziej szczegółowoPodstawy informatyki. Elektrotechnika I rok. Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia
Podstawy informatyki Elektrotechnika I rok Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia Katedra Energoelektroniki i Automatyki Systemów Przetwarzania Energii AGH Kraków 2017 Tematyka
Bardziej szczegółowoWskaźniki. nie są konieczne, ale dają językowi siłę i elastyczność są języki w których nie używa się wskaźników typ wskaźnikowy typ pochodny:
Wskaźniki nie są konieczne, ale dają językowi siłę i elastyczność są języki w których nie używa się wskaźników typ wskaźnikowy typ pochodny: typ nw; /* definicja zmiennej nw typu typ */ typ *w_nw; /* definicja
Bardziej szczegółowoProste programy w C++ zadania
Proste programy w C++ zadania Zbiór zadao do samodzielnego rozwiązania stanowiący powtórzenie materiału. Podstawy C++ Budowa programu w C++ Dyrektywy preprocesora Usunięcie dublujących się nazw Częśd główna
Bardziej szczegółowoTemat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.
Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,
Bardziej szczegółowo*W uproszczeniu: jest dziewięciu sędziów przyznających po dwie noty: za wartość techniczną i artystyczną (skala od 0.0 do 6.0)
Tablice Mamy napisać program obliczający średnią ocenę w łyżwiarstwie figurowym W uproszczeniu: jest dziewięciu sędziów przyznających po dwie noty: za wartość techniczną i artystyczną (skala od 0.0 do
Bardziej szczegółowo// Liczy srednie w wierszach i kolumnach tablicy "dwuwymiarowej" // Elementy tablicy są generowane losowo #include <stdio.h> #include <stdlib.
Wykład 10 Przykłady różnych funkcji (cd) - przetwarzanie tablicy tablic (tablicy "dwuwymiarowej") - sortowanie przez "selekcję" Dynamiczna alokacja pamięci 1 // Liczy srednie w wierszach i kolumnach tablicy
Bardziej szczegółowoProgramowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27
Programowanie w C++ Wykład 5 Katarzyna Grzelak 16 kwietnia 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27 Pojęcia z poprzednich wykładów Tablica to ciag obiektów tego samego typu, zajmujacy ciagły
Bardziej szczegółowoCo to jest sterta? Sterta (ang. heap) to obszar pamięci udostępniany przez system operacyjny wszystkim działającym programom (procesom).
Zarządzanie pamięcią Pamięć: stos i sterta Statyczny i dynamiczny przydział pamięci Funkcje ANSI C do zarządzania pamięcią Przykłady: Dynamiczna tablica jednowymiarowa Dynamiczna tablica dwuwymiarowa 154
Bardziej szczegółowotyp y y p y z łoż o on o e n - tab a lice c e w iel e owym m ar a o r we, e stru r kt k ury
typy złożone- tablice wielowymiarowe, struktury Wykład 6 Deklarowanie wskaźników nazwa_typu * nazwa_wskaznika; WSKAŹNIKI: PRZYPOMNIENIE Przypisywanie wskaźnikom wartości double * pn = &zmienna_typu_double;
Bardziej szczegółowoZajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej
Zajęcia nr 2 Programowanie strukturalne dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Pętla while #include using namespace std; int main ()
Bardziej szczegółowoJęzyk C, tablice i funkcje (laboratorium)
Język C, tablice i funkcje (laboratorium) Opracował: Tomasz Mączka (tmaczka@kia.prz.edu.pl) Wstęp (tablice) Tablica to uporządkowany ciąg elementów tego samego typu, zajmujących ciągły obszar pamięci.
Bardziej szczegółowotablica: dane_liczbowe
TABLICE W JĘZYKU C/C++ tablica: dane_liczbowe float dane_liczbowe[5]; dane_liczbowe[0]=12.5; dane_liczbowe[1]=-0.2; dane_liczbowe[2]= 8.0;... 12.5-0.2 8.0...... 0 1 2 3 4 indeksy/numery elementów Tablica
Bardziej szczegółowoProgramowanie obiektowe W3
Programowanie obiektowe W3 Przegląd typów strukturalnych w C++ : tablice statyczne i dynamiczne Dr hab. inż. Lucyna Leniowska, prof. UR Zakład Mechatroniki, Automatyki i Optoelektroniki Typy złożone: tablice
Bardziej szczegółowoWstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 4. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy Wykład 4 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Tablice Wskaźniki Adresy pamięci Operator adresu
Bardziej szczegółowoSpis treści WSKAŹNIKI. DYNAMICZNY PRZYDZIAŁ PAMIĘCI W JĘZYKU C. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 2 Kod przedmiotu: ES1C300 016 (studia stacjonarne)
Bardziej szczegółowoStałe, tablice dynamiczne i wielowymiarowe
Stałe, tablice dynamiczne i wielowymiarowe tylko do odczytu STAŁE - CONST tablice: const int dni_miesiaca[12]=31,28,31,30,31,30,31,31,30,31,30,31; const słowo kluczowe const sprawia, że wartość zmiennej
Bardziej szczegółowoINFORMATYKA Z MERMIDONEM. Programowanie. Moduł 5 / Notatki
INFORMATYKA Z MERMIDONEM Programowanie Moduł 5 / Notatki Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego. Realizator projektu: Opracowano w ramach projektu
Bardziej szczegółowoProgramowanie komputerowe. Zajęcia 1
Programowanie komputerowe Zajęcia 1 Code::Blocks - tworzenie projektu Create New Project Console Application -> C++ Wybierz nazwę projektu Stworzy się nowy projekt z wpisaną funkcją main Wpisz swój program
Bardziej szczegółowoCzęść 4 życie programu
1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część
Bardziej szczegółowoProgramowanie w języku C++
Programowanie w języku C++ Część siódma Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie zastąpi
Bardziej szczegółowoZajęcia 6 wskaźniki i tablice dynamiczne
Zajęcia 6 wskaźniki i tablice dynamiczne 1. Napisz funkcję void zamien(int *a, int *b), która otrzymuje wskaźniki dwóch zmiennych typu całkowitego, a następnie dokonuje zamiany wartości wskazywanych zmiennych.
Bardziej szczegółowoPROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec
PROE wykład 2 operacje na wskaźnikach dr inż. Jacek Naruniec Zmienne automatyczne i dynamiczne Zmienne automatyczne: dotyczą kontekstu, po jego opuszczeniu są usuwane, łatwiejsze w zarządzaniu od zmiennych
Bardziej szczegółowoProgramowanie 2 - Tablice i łańcuchy
Instytut Informatyki Uniwersytetu Śląskiego Laborki Zadania String jako klasa; length() - długość łańcucha; char CharAt (int index) - sprawdzenie znaku na zadanym numerze. Użytkownik podaje n łańcuchów.
Bardziej szczegółowoPodstawy Programowania Podstawowa składnia języka C++
Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include
Bardziej szczegółowoPodstawy programowania komputerów
Podstawy programowania komputerów Wykład 10: Sterowanie pamięcią w C Pamięć na stosie!każdy program napisany w języku C ma dostęp do dwóch obszarów pamięci - stosu i sterty, w których może być przechowywana
Bardziej szczegółowoTABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ;
Ogólna postać definicji tablicy: TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ; np. int tablica [ 10 ]; // 10-cio elementowa tablica liczb całkowitych char tekst
Bardziej szczegółowoProgramowanie komputerowe. Zajęcia 4
Programowanie komputerowe Zajęcia 4 Typ logiczny Wartości logiczne są reprezentowane przez typ bool. Typ bool posiada tylko dwie wartości: true i false. Zamiast wartości logicznych można używać wartości
Bardziej szczegółowoIMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi
IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi EGZAMIN PIERWSZY (25 CZERWCA 2013) JĘZYK C++ poprawiam ocenę pozytywną z egzaminu 0 (zakreśl poniżej x) 1. Wśród poniższych wskaż poprawną formę definicji
Bardziej szczegółowoWskaźnik może wskazywać na jakąś zmienną, strukturę, tablicę a nawet funkcję. Oto podstawowe operatory niezbędne do operowania wskaźnikami:
Wskaźniki są nieodłącznym elementem języka C. W języku C++ także są przydatne i korzystanie z nich ułatwia pracę, jednak w odróżnieniu do C wiele rzeczy da się osiągnąć bez ich użycia. Poprawne operowanie
Bardziej szczegółowoDariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki zaprojektowany jako rozszerzenie języka C o obiektowe mechanizmy abstrakcji danych jest to język pozwalający na programowanie zarówno proceduralne
Bardziej szczegółowoWstęp do programowania
wykład 7 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2016/2017 Losowanie liczb całkowitych Dostępne biblioteki Najprostsze losowanie liczb całkowitych można wykonać za pomocą funkcji
Bardziej szczegółowoDla każdej operacji łącznie tworzenia danych i zapisu ich do pliku przeprowadzić pomiar czasu wykonania polecenia. Wyniki przedstawić w tabelce.
Przygotować program tworzący tablicę dwuwymiarową zawierającą zestawy 10 2, 10 4, 10 6 liczb losowych zmiennoprzecinkowych. Korzystając z funkcji bibliotecznych uporządkować zawartość każdego (a) wiersza
Bardziej szczegółowoPodstawy programowania. Wykład 6 Wskaźniki. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład 6 Wskaźniki Krzysztof Banaś Podstawy programowania 1 Adresy zmiennych Język C pozwala na operowanie adresami w pamięci stąd, między innymi, kwalifikowanie C jako języka relatywnie
Bardziej szczegółowo//zmienne globalne int *pa, *pb; //wskaźniki globalne void main(void) { clrscr(); printf("\n podaj wartosc liczby a\n"); scanf("%d",&a); pa=&a;
Ćwiczenie 4 4.1. Wskaźnik na zmienną Wskaźniki, tablice Deklaracja int *pa; oznacza, że pa jest wskaźnikiem na obiekt typu int. Zmienna pa zawiera adres pamięci, zarezerwowanej na zmienną typu int. Chcąc
Bardziej szczegółowoProgramowanie w C++ Wykład 4. Katarzyna Grzelak. 19 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 37
Programowanie w C++ Wykład 4 Katarzyna Grzelak 19 marca 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 37 Funkcje cd K.Grzelak (Wykład 1) Programowanie w C++ 2 / 37 Funkcja powtórzenie Funkcje == podprogramy
Bardziej szczegółowoProgramowanie komputerowe. Zajęcia 5
Programowanie komputerowe Zajęcia 5 Tablice wielowymiarowe Tablicę dwuwymiarową możemy deklarować statycznie: typ nazwa[rozmiar1][rozmiar2]; Ma ona elementy nazwa[i][j] dla i=0,,rozmiar1-1, j=0,...,rozmiar2-1.
Bardziej szczegółowodo instrukcja while (wyrażenie);
Instrukcje pętli -ćwiczenia Instrukcja while Pętla while (póki) powoduje powtarzanie zawartej w niej sekwencji instrukcji tak długo, jak długo zaczynające pętlę wyrażenie pozostaje prawdziwe. while ( wyrażenie
Bardziej szczegółowoZaawansowane programowanie w języku C++ Zarządzanie pamięcią w C++
Zaawansowane programowanie w języku C++ Zarządzanie pamięcią w C++ Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka
Bardziej szczegółowoProgram 6. Program wykorzystujący strukturę osoba o polach: imię, nazwisko, wiek. W programie wykorzystane są dwie funkcje:
Program 6 Program wykorzystujący strukturę osoba o polach: imię, nazwisko, wiek. W programie wykorzystane są dwie funkcje: Funkcja pobierz_osobe wczytuje dane osoby podanej jako argument. Funkcja wypisz_osobe
Bardziej szczegółowoTechniki Programowania wskaźniki 2
Techniki Programowania wskaźniki 2 Łukasz Madej Katedra Informatyki Stosowanej i Modelowania Wykłady opracowane we współpracy z Danutą Szeligą, Łukaszem Sztangretem Jeżeli wskaźnik pokazuje na element
Bardziej szczegółowoO podstawowych operacjach na tablicach. Mateusz Ziółkowski, MBiU II
Wykład Ⅴ O podstawowych operacjach na tablicach Mateusz Ziółkowski, MBiU II Czym są tablice? Tablica (ang. array) to zespół równorzędnych zmiennych, posiadających wspólną nazwę. Jego poszczególne elementy
Bardziej szczegółowoZadania z podstaw programowania obiektowego
Zadania z podstaw programowania obiektowego 1. Napisać klasę Lista, której zadaniem będzie przechowywanie listy liczb całkowitych. Klasa ta ma mieć następujące pola prywatne: int* liczby; tablica, w której
Bardziej szczegółowoProgramowanie obiektowe - zadania
Programowanie obiektowe - zadania Elementy języka Java Zad.1. Napisz program, który sprawdza, czy dana liczba całkowita jest parzysta. Zad.2. Napisz program, który sumuje dane dwie liczby tylko w przypadku,
Bardziej szczegółowoInformacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;
Klasy w C++ są bardzo ważnym narzędziem w rękach programisty. Klasy są fundamentem programowania obiektowego. Z pomocą klas będziesz mógł tworzyć lepszy kod, a co najważniejsze będzie on bardzo dobrze
Bardziej szczegółowoPodstawy programowania w języku C++
Podstawy programowania w języku C++ Część ósma Zmienne wskaźnikowe koncepcja, podstawowe zastosowania Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie
Bardziej szczegółowoInstytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska
Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Języki programowania z programowaniem obiektowym Laboratorium
Bardziej szczegółowoJęzyk C, tablice i funkcje (laboratorium, EE1-DI)
Język C, tablice i funkcje (laboratorium, EE1-DI) Opracował: Tomasz Mączka (tmaczka@kia.prz.edu.pl) Wstęp (tablice) Tablica to uporządkowany ciąg elementów tego samego typu, zajmujących ciągły obszar pamięci.
Bardziej szczegółowoNiezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.
Część XIX C++ w Każda poznana do tej pory zmienna może przechowywać jedną liczbę. Jeśli zaczniemy pisać bardziej rozbudowane programy, okaże się to niewystarczające. Warto więc poznać zmienne, które mogą
Bardziej szczegółowoPodstawy i języki programowania
Podstawy i języki programowania Laboratorium 6 - klasa BigDecimal i String oraz tablice mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 16 listopada 2018 1 / 27 mgr inż. Krzysztof Szwarc Podstawy
Bardziej szczegółowoProgramowanie i struktury danych
Programowanie i struktury danych 1 / 30 STL Standard Template Library, STL (ang. = Standardowa Biblioteka Wzorców) biblioteka C++ zawierająca szablony (wzorce), które umożliwiają wielokrotne użycie. Główne
Bardziej szczegółowo1 Wskaźniki. 1.1 Główne zastosowania wskaźników
1 Wskaźniki Wskaźnik (ang. pointer) jest obiektem (zmienną) przechowującym adres pamięci. Definiowanie wskaźników: typ *nazwa wskaznika; np.: int *wsk na x;, double *xxx;, char *znak;. Aby można było pracować
Bardziej szczegółowo1,3,4,2,3,4,0,1,4,5,0. Wówczas największa suma trzech kolejnych liczb (zaznaczone na czerwono) wynosi:
Program 20 Napisać następujące funkcje: funkcję pobierającą (z klawiatury) zawartość tablicy liczb całkowitych podanej jako parametr, o długości podanej jako parametr; funkcję wypisującą zawartość tablicy
Bardziej szczegółowoW języku C/C++ pomiędzy wskaźnikami a tablicami istnieje bardzo ścisły związek. Do onumerowania elementów w tablicy służą tzw. INDEKSY.
LEKCJA 12. Wskaźniki i tablice w C i C++. W czasie tej lekcji: 1. Dowiesz się więcej o zastosowaniu wskaźników. 2. Zrozumiesz, co mają wspólnego wskaźniki i tablice w języku C/C++. WSKAŹNIKI I TABLICE
Bardziej szczegółowoAlgorytmy i język C++
Wykład 6 Wskaźniki Wskaźnik nie przechowuje wartości zmiennej ale, podobnie jak tablica, wskazuje miejsce w pamięci, w którym znajduje się zmienna danego typu. W poniższym przykładzie symbol * pomiędzy
Bardziej szczegółowoWskaźniki. Informatyka
Materiały Wskaźniki Informatyka Wskaźnik z punktu widzenia programisty jest grupą komórek pamięci (rozmiar wskaźnika zależy od architektury procesora, najczęściej są to dwa lub cztery bajty ), które mogą
Bardziej szczegółowoWymiar musi być wyrażeniem stałym typu całkowitego, tzn. takim, które może obliczyć kompilator. Przykłady:
5 Tablice Tablica jest zestawem obiektów (zmiennych) tego samego typu, do których można się odwołać za pomocą wspólnej nazwy. Obiekty składowe tablicy noszą nazwę elementów tablicy. Dostęp do nich jest
Bardziej szczegółowoPodstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk. Wydział Inżynierii Metali i Informatyki Przemysłowej
Podstawy informatyki Informatyka stosowana - studia niestacjonarne Grzegorz Smyk Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie, rok
Bardziej szczegółowoMateriał Typy zmiennych Instrukcje warunkowe Pętle Tablice statyczne Wskaźniki Tablice dynamiczne Referencje Funkcje
Podstawy informatyki Informatyka stosowana - studia niestacjonarne - Zajęcia nr 4 Grzegorz Smyk Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza im. Stanisława Staszica w
Bardziej szczegółowoZadania język C++ Zad. 1. Napisz program wczytujący z klawiatury wiek dwóch studentów i wypisujący informację o tym, który z nich jest starszy.
Zadania język C++ Zad. 1 Napisz program wczytujący z klawiatury wiek dwóch studentów i wypisujący informację o tym, który z nich jest starszy. (Być moŝe są w tym samym wieku. Zrób w programie warunek,
Bardziej szczegółowoWskaźniki. Przemysław Gawroński D-10, p marca Wykład 2. (Wykład 2) Wskaźniki 8 marca / 17
Wskaźniki Przemysław Gawroński D-10, p. 234 Wykład 2 8 marca 2019 (Wykład 2) Wskaźniki 8 marca 2019 1 / 17 Outline 1 Wskaźniki 2 Tablice a wskaźniki 3 Dynamiczna alokacja pamięci (Wykład 2) Wskaźniki 8
Bardziej szczegółowoCzęść XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład.
Część XVII C++ Funkcje Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład. 2 3 Tworzymy deklarację i definicję funkcji o nazwie pobierzln() Funkcja
Bardziej szczegółowoutworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy,
Lista 3 Zestaw I Zadanie 1. Zaprojektować i zaimplementować funkcje: utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy, zapisz
Bardziej szczegółowoWiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java
Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java Cechy C++ Język ogólnego przeznaczenia Można programować obiektowo i strukturalnie Bardzo wysoka wydajność kodu wynikowego
Bardziej szczegółowoczęść 8 wskaźniki - podstawy Jarosław Gramacki Instytut Informatyki i Elektroniki Podstawowe pojęcia
Język ANSI C część 8 wskaźniki - podstawy Jarosław Gramacki Instytut Informatyki i Elektroniki Podstawowe pojęcia najbardziej podstawowe operacje na wskaźnikach int x = 1, y = 2, Tab[10]; int *ip; // czy
Bardziej szczegółowoĆwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz
Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania Zofia Kruczkiewicz Zakres Funkcje przetwarzające teksty (biblioteka ) - tworzenie własnych
Bardziej szczegółowor. Tablice podstawowe operacje na tablicach
27.03.2014r. Tablice podstawowe operacje na tablicach Tablica - definicja Tablica (ang. array) lub wektor (ang. vector) jest złożoną strukturą danych (ang. compound data structure) zbudowaną z ciągu elementów
Bardziej szczegółowoStruktury, unie, formatowanie, wskaźniki
Struktury, unie, formatowanie, wskaźniki 1. Napisz aplikację, która na wejściu dostaje napis postaci W Roku Pańskim 1345, władca Henryk 12, na rzecz swoich 143209 poddanych uchwalił dekret o 20 procentowej
Bardziej szczegółowoZadeklarowanie tablicy przypomina analogiczną operację dla zwykłych (skalarnych) zmiennych. Może zatem wyglądać na przykład tak:
Tablice Tablice jednowymiarowe Jeżeli nasz zestaw danych składa się z wielu drobnych elementów tego samego rodzaju, jego najbardziej naturalnym ekwiwalentem w programowaniu będzie tablica. Tablica (ang.
Bardziej szczegółowoSpis treści JĘZYK C - WSKAŹNIKI, DYNAMICZNY PRZYDZIAŁ PAMIĘCI. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 2 Kod przedmiotu: ES1D300 017 (studia stacjonarne)
Bardziej szczegółowoPodstawy programowania w języku C++
Podstawy programowania w języku C++ Część ósma Zmienne wskaźnikowe koncepcja, podstawowe zastosowania Wersja skrócona, tylko C++ Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski
Bardziej szczegółowoProgramowanie obiektowe Wykład 3. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/21
Dariusz Wardowski dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/21 Przydzielanie pamięci Poniżej przedstawiono w C++ dwie klasy obrazujące sposób rezerwacji pamięci. class Osoba char imie[30];
Bardziej szczegółowoProgramowanie obiektowe. Dr hab. Inż. Marta Gładysiewicz-Kudrawiec Pokój 229 A1 Operatory new delete pliki-odczyt
Programowanie obiektowe Dr hab. Inż. Marta Gładysiewicz-Kudrawiec Pokój 229 A1 Operatory new delete pliki-odczyt Operator new, new[] Operator new oraz new[] służy do rezerwacji obszarów z zapasie pamięci
Bardziej szczegółowoTablice są typem pochodnym. Poniżej mamy przykłady deklaracji różnych tablic:
Tablice TEORIA Tablica to ciąg obiektów tego samego typu, które zajmują ciągły obszar w pamięci. Dzięki stosowaniu tablic, zamiast nazywania każdej z np. stu zmiennych osobno możemy zabudować tablicę 100-elementową,
Bardziej szczegółowowykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis
i cz. 2 Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 i cz. 2 2 i cz. 2 3 Funkcje i cz. 2 typ nazwa ( lista-parametrów ) { deklaracje instrukcje } i cz. 2 typ nazwa ( lista-parametrów ) { deklaracje
Bardziej szczegółowolekcja 8a Gry komputerowe MasterMind
lekcja 8a Gry komputerowe MasterMind Posiadamy już elementarną wiedzę w zakresie programowania. Pora więc zabrać się za rozwiązywanie problemów bardziej złożonych, które wymagają zastosowania typowych
Bardziej szczegółowoAkademia ETI Marcin Jurkiewicz
Akademia ETI Marcin Jurkiewicz Fakt W informatyce nic nie robi się od zera! Zatem my również będziemy korzystali z szablonów. Najczęściej będziemy troszkę zmieniać programy już napisane na slajdach. Pierwszy
Bardziej szczegółowoWstęp do programowania
wykład 6 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2017/2018 Losowanie liczb całkowitych Dostępne biblioteki Najprostsze losowanie liczb całkowitych można wykonać za pomocą funkcji
Bardziej szczegółowoTablice (jedno i wielowymiarowe), łańcuchy znaków
Tablice (jedno i wielowymiarowe), łańcuchy znaków wer. 8 z drobnymi modyfikacjami! Wojciech Myszka Katedra Mechaniki i Inżynierii Materiałowej 2017-04-07 09:35:32 +0200 Zmienne Przypomnienie/podsumowanie
Bardziej szczegółowoJĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6
JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 6 1 SPECYFIKATOR static Specyfikator static: Specyfikator ten powoduje, że zmienna lokalna definiowana w obrębie danej funkcji nie jest niszczona
Bardziej szczegółowoC++ wprowadzanie zmiennych
C++ wprowadzanie zmiennych Każda zmienna musi być zadeklarowana, należy określić jej nazwę (identyfikator) oraz typ. Opis_typu lista zmiennych Dla każdej zmiennej rezerwowany jest fragment pamięci o określonym
Bardziej szczegółowoZajęcia 6 wskaźniki i tablice dynamiczne
Zajęcia 6 wskaźniki i tablice dynamiczne 1.NapiszfunkcjęvoidminMax(inttab[],intw,int*wmin,int*wmax),która szuka w podanym ciągu najmniejszego i największego elementu. Znalezione wartości mają zostać zapisane
Bardziej szczegółowoJęzyk C++ zajęcia nr 2
Język C++ zajęcia nr 2 Inicjalizacja Definiowanie obiektu może być połączone z nadaniem mu wartości początkowej za pomocą inicjalizatora, który umieszczany jest po deklaratorze obiektu. W języku C++ inicjalizator
Bardziej szczegółowoPodstawy Programowania Obiektowego
Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja
Bardziej szczegółowoProgramowanie 3 - Funkcje, pliki i klasy
Instytut Informatyki Uniwersytetu Śląskiego Laborki funkcja; parametry funkcji; typ zwracany; typ void; funkcje bez parametrów; napis.length() - jako przykład funkcji. Zadania funkcja dodająca dwie liczby;
Bardziej szczegółowo