Wskaźniki.

Slides:



Advertisements
Podobne prezentacje
Katarzyna Szafrańska kl. II ti
Advertisements

STRUKTURY DANYCH.
Programowanie obiektowe
Programowanie obiektowe
C++ w Objectivity Marcin Michalak s1744. Pomocne pakiety: Data Definition Language (DDL). Standard Template Library (STL). Active Schema.
PROGRAMOWANIE STRUKTURALNE
PROGRAMOWANIE STRUKTURALNE
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 7: Procedury i funkcje © Jan Kaczmarek.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 8: Wykorzystanie procedur i funkcji © Jan Kaczmarek.
Rekurencja Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład.
Imperatywne modele obliczeń Copyright, 2001 © Jerzy R. Nawrocki Wprowadzenie do.
Rekursja Teoretyczne podstawy informatyki Wykład 5
Rekurencja Copyright, 2001 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład.
Imperatywne modele obliczeń Copyright, 2003 © Jerzy R. Nawrocki Teoretyczne podstawy.
Programowanie imperatywne i granice obliczalności Copyright, 2004 © Jerzy R. Nawrocki
Rekursja Copyright, 2004 © Jerzy R. Nawrocki Teoretyczne podstawy informatyki.
Kurs Pascala – spis treści
Wskaźniki. Definiowanie wskaźników Wskaźnik może wskazywać na obiekt dowolnego typu. int * w; char * Wsk_Znak; float * Wskaz_Real; Przykłady: Wskaźnik.
Spójność i replikacja Wykład 7.
Typy wskaźnikowe ogólne 1 Typy wskaźnikowe ogólne (general access types) umożliwiają pośredni dostęp (indirect access), czyli przez wskaźniki, do zadeklarowanych.
Wykład 1: Wskaźniki Podstawy programowania Programowanie w C
Podstawy programowania PP – WYK2 Wojciech Pieprzyca.
Współprogramy Plan: Motywacja Składnia Scenariusz obiektu współprogramu Przykłady Producent – konsument ( instrukcja attach ) Czytelnik -pisarze ( instukcja.
Zachodniopomorskie Centrum Edukacyjne Zadanie domowe.
#include #include main () { cout
Wprowadzenie do programowania w języku Turbo Pascal
Pliki. Pliki Pliki jako pamięć nieulotna Pliki jako pamięć nieulotna Nazwy, atrybuty i prawa dostępu Nazwy, atrybuty i prawa dostępu atrybuty atrybuty.
Podprogramy.
Typy złożone, case, stałe. Typ zbiorowy type typ_zb = set of typ_podstawowy; Typem podstawowym może być tylko typ porządkowy. Typem podstawowym może być
Podstawy programowania
Podstawy programowania II
Wskaźnik może wskazywać na obiekt dowolnego typu. int * w; char * Wsk_Znak; float * Wskaz_Float; Przykład: Wskaźnik przechowuje adres obiektu wskazanego.
struct nazwa { lista składników }; Dostęp do składowych struktury Nazwa_Zmniennej_Strukturalnej. Nazwa_Składnika.
Podstawy programowania II
REKURENCJA.
Porysujmy trochę czyli Łączenie SQLa, AutoCADa i Delphi
Programowanie strukturalne i obiektowe
Pliki tekstowe. Operacje na plikach. mgr inż. Agata Pacek.
Andrzej Jędryczkowski Nie da się napisać większego programu bez podziału go na części zwane podprogramami. Podprogram to wyróżniona część programu.
20 września 2003r. Centrum Kształcenia Ustawicznego im. St. Staszica w Koszalinie Wstęp do algorytmiki Autor: Marek Magiera.
Struktura programu w Turbo Pascalu.
© A. Jędryczkowski – 2006 r. © A. Jędryczkowski – 2006 r.
Procedury i funkcje.
Definicja pliku tekstowego Operacje wykonywane na plikach tekstowych
Podstawy programowania
Pliki Pojęcie i rodzaje plików Definicja typu plikowego Operacje wykonywane na plikach elementowych.
Zbiory i rekordy mgr inż. Agata Pacek. Deklaracja typu zbiorowego (określa ilość elementów w zbiorze) type biegi=set of 0..6; Definiowanie zmiennej typu.
Programowanie strukturalne i obiektowe
Tablice. Tablica struktura danych, służy do przechowywania danych tego samego typu, zapisana w pamięci w sposób ciągły. Deklaracja tablicy PascalC++,
Tablice.
Podstawy programowania
TYPY STRUKTURALNE Tablice Tablicą nazywamy złożoną strukturę danych, która zawiera zbiór elementów tego samego typu.
Informatyka MTDI1 Wykład 11 Delphi Pascal c.d. Pliki Typ zbiorowy
Regresja krzywoliniowa
Instrukcja warunkowa i wyboru
A. Jędryczkowski – 2006 ©. Tablica to struktura danych zawierająca zbiór obiektów tego samego typu i odpowiada matematycznemu pojęciu wektora (tablica.
Turbo Pascal umożliwia wykorzystanie w programach zbiorów teoriomnogościowych, których elementy muszą należeć do pewnego określonego typu. Typ zbiorowy.
Pliki elementowe – A. Jędryczkowski © 2007 Turbo Pascal umożliwia wykorzystanie w programach plików elementowych. Pliki takie zawierają informację zakodowaną
Budowa programu #include /*instrukcje preprocesora */ #include int main(void) { /*podstawowa funkcja programu */ int a=1; /*deklaracja i inicjalizacja.
Warsztaty użytkowników programu PLANS – Karwia06 Język makropoleceń JMP programu PLANS Część I mgr inż. Tomasz Zdun.
Instrukcja switch switch (wyrażenie) { case wart_1 : { instr_1; break; } case wart_2 : { instr_2; break; } … case wart_n : { instr_n; break; } default.
Obsługa strumienia wejścia/wyjścia /zajęcia nr 2/ printf – wyświetlanie scanf – ??? dla printf: \n - nowa linia \t - tabulator poziomy \b - znak cofania.
Ogólna struktura programu w TP
Programowanie strukturalne i obiektowe C++
Modele pamięci Tiny - mikroskopijny do 64 K zmienne inicjalizowane kod programu zmienne nie inicjalizowane HEAP (sterta) obszar wolny STACK (stos) Model.
Języki formalne i gramatyki Copyright, 2005 © Jerzy R. Nawrocki Teoretyczne podstawy.
1 dynamiczny przydział pamięci malloc() free() realloc() calloc() memset() memcpy( ) mempcpy( ) memmove() (wskaźniki!! )
Programowanie imperatywne i język C Copyright, 2007 © Jerzy R. Nawrocki Wstęp do.
Wykład 1 Informatyka II MPZI2 sem.letni. Tablice Tablice deklarujemy array [ lista typów indeksów ] of typ bazowy (składowych) np. var t1,t2:array [1..5,
Zapis prezentacji:

Wskaźniki

Zmienna wskaźnikowa (wskaźnik) zmienna wskazująca na zmienną danego typu, opisująca położenie innej zmiennej w pamięci, przechowuje adres innej zmiennej Zastosowanie zmiennej wskaźnikowej: dostęp do specjalnych komórek pamięci dynamiczna alokacja pamięci przekazywanie argumentów do funkcji przez wskaźniki praca z tablicami

Deklaracja zmiennych wskaźnikowych: Pascal C++ nazwa : ^typ; typ * nazwa; Przykład: wskaznik:^integer; char * wsk;

@ & Operator uzyskania adresu (referencji): Pascal C++ var Przykład: var wsk:^integer; a:integer; begin wsk := @a; end. char * wsk; char b; wsk = &b;

^ * Operator wyłuskania (dereferencji): operator uzyskania zawartości obszaru identyfikowanego przez adres zawarty w zmiennej wskaźnikowej Pascal C++ ^ * Przykład: var wsk:^integer; a:integer; begin a := 10; wsk := @a; writeln(a^); end. char * wsk; char b; b = ‘a’; wsk = &b; cout<<*wsk;

Dynamiczna alokacja pamięci: Zmienne dynamiczne mają dość ważną cechę: w zależności od potrzeb mogą być tworzone i niszczone w czasie trwania programu . Pozwala to na zaoszczędzenie pamięci, w porównaniu ze zmiennymi statycznymi.

Dynamiczna alokacja pamięci w języku Pascal: Dynamiczny przydział pamięci odbywa się przy użyciu następujących procedur: Przydzielenie pamięci na zmienną zadanego typu: New( zmienna_wskaźnikowa ) ; b) Zwolnienie pamięci przydzielonej za pomocą procedury New Dispose( zmienna_wskaźnikowa ) ; c) Przydzielenie pamięci na ciąg bajtów o zadanej długości GetMem( zm_wsk , ilość_bajtów ) ; d) Zwolnienie pamięci przydzielonej za pomocą procedury GetMem FreeMem( zm_wsk, ilość_bajtów );

Przykład: var wsk_1 : ^ real ;  deklaracje zmiennych wskaźnikowych begin New( wsk_1 );  przydzielanie pamięci wsk_1^ := 12.34;  operacje na zmiennych dynamicznych Dispose( wsk_1 );  zwalnianie pamięci end .

Dynamiczna alokacja pamięci w języku C++: Operatory new i delete Operator new tworzy obiekt, a operator delete usuwa obiekt z pamięci. Przykłady: char *wsk; wsk = new char; delete wsk; int *wsktab; wsktab = new int[10]; delete [] wsk_tab;

Przekazywanie argumentów do funkcji przez wskaźniki: język Pascal: type: wsk=^integer; var c,d:integer; function max(a,b:wsk):integer; … writeln(max(@c,@d)); język C++ int max (int *a, int *b); int c,d; cout<<max(&c,&d);

Koniec