Informatyka. Wy-03 Dynamiczna alokacja pamięci, wyjątki. mgr inż. Krzysztof Kołodziejczyk
|
|
- Filip Kujawa
- 6 lat temu
- Przeglądów:
Transkrypt
1 Informatyka Wy-03 Dynamiczna alokacja pamięci, wyjątki mgr inż. Krzysztof Kołodziejczyk
2 Strona kursu
3 Konsultacje Piątek 13:00 C2/111a
4 Konspekt 1 W poprzednim odcinku... 2 man 3 Dynamiczna alokacja pamięci
5 Konspekt 1 W poprzednim odcinku... Stałe i zmienne Wskaźniki Tablice Arytmetyka wskaźników 2 man
6 Stałe "42"
7 Stałe "42" 42L 0xBUL 0.0F 0.0L 0777 \n \0x20
8 Zmienne char int, short int, long int float, double, long double signed / unsigned array *
9 Zasięg zmiennej i n t plus2 ( i n t a ){ i n t x=2; a += x ; return a ; } void main ( void ){ i n t a=5; i n t b=plus2 ( a ) ; p r i n t f ( "%d %d\n", a, b ) ; // 5 7 p r i n t f ( "%d\n", x ) ; // e r r o r : x undeclared }
10 Zasięg zmiennej void main ( void ){ i n t a=5; i n t b=6; { i n t a=7; b=8; } p r i n t f ( "%d %d\n", a, b ) ; // 5 8 p r i n t f ( "%d\n", x ) ; // e r r o r : x undeclared }
11 Zasięg zmiennej void main ( void ){ i n t a ; f o r ( i n t i =0; i <10; i ++) { a = i ; } audytoriumf ( "%d\n", a ) ; audytoriumf ( "%d\n", i ) ; }
12 Zasięg zmiennej void main ( void ){ i n t a ; i n t i ; f o r ( i =0; i <10; i ++) { a = i ; } z a p l u s a f ( "%d %d\n", a, i ) ; }
13 Zasięg zmiennej void main ( void ){ f o r ( i n t i =0; i <2; i ++) { f o r ( i n t i =0; i <3; i ++) { p r i n t f ( "%d ", i ) ; } } }
14 Zasięg zmiennej void main ( void ){ i n t i ; i n t i ; // e r r o r : r e d e c l a r a t i o n o f i }
15 Wskaźniki f0c1be80 [80] [80] f0c1be f0c1be f0c1be98 [84]be c1 f i n t a=192; i n t b=204; i n t p_a ; p_a=&a ; //p_a = f0c1be80 p_a = 128; p_a=&b ; //p_a = f0c1be84 p_a = 128;
16 Tablice jednowymiarowe f0c1be f0c1be f0c1be f0c1be98 [80 be c1 f0] i n t a [ ] = { 2, 8, 3 2, 1 2 8, 5 1 2, } ; i n t p_a = a ; &a [ 0 ] == a == p_a a [ 0 ] == p_a
17 Tablice dwuwymiarowe f0c1be f0c1be f0c1be90 [80 be c1 f0 84 be c1 f0] f0c1be98 [88 be c1 f0] char b [ 3 ] [ 4 ] = { { 1, 2, 3, 4 }, { 7, 6, 8, 9 }, {4,8,1,5} } ;
18 Tablice dwuwymiarowe f0c1be f0c1be f0c1be90 [80 be c1 f0 84 be c1 f0] f0c1be98 [88 be c1 f0] char b [ 3 ] [ 4 ] = { { 1, 2, 3, 4 }, { 7, 6, 8, 9 }, {4,8,1,5} } ; b == b [ 0 ] [ 0 ] == ( b [ 0 ] )
19 Arytmetyka wskaźników f0c1be f0c1be f0c1be f0c1be i n t a [ ] = { 2, 8, 3 2, 1 2 8, 5 1 2, } ; a [ 2 ] == ( a+2) == 32 &a [ 2 ] == a + 2 s i z e o f ( i n t ) == f0c1be88
20 Arytmetyka wskaźników f0c1be f0c1be f0c1be90 [80 be c1 f0 84 be c1 f0] f0c1be98 [88 be c1 f0] char b [ 3 ] [ 4 ] = { { 1, 2, 3, 4 }, { 7, 6, 8, 9 }, {4,8,1,5} } ; b [ 2 ] == f0c1be88 ( ( b+2) + 1) == b [ 2 ] [ 1 ] == 8
21 Arytmetyka wskaźników i n t a = 258; char p_a = ( char )&a ; p_a [ 1 ] ; //1 p_a [ 0 ] ; //2
22 Konspekt 1 W poprzednim odcinku... 2 man
23 man man nazwa_strony
24 man man nazwa_strony man numer_sekcji nazwa_strony
25 man man nazwa_strony man numer_sekcji nazwa_strony man printf #printf(1) Ta strona podręcznika man opisuje polecenie printf w wersji GNU.
26 man man nazwa_strony man numer_sekcji nazwa_strony man printf #printf(1) Ta strona podręcznika man opisuje polecenie printf w wersji GNU. man 3 printf #printf(3) Linux Programmer s Manual
27 man pages 1 komendy ogólne 2 wywołania systemowe 3 funkcje biblioteki C 4 pliki specjalne 5 formaty plików 6 gry komputerowe i wygaszacze ekranu 7 różne 8 administracja systemem i daemony
28 Why does man print gimme gimme gimme at 00:30? We ve noticed that some of our automatic tests fail when they run at 00:30 but work fine the rest of the day. They fail with the message gimme gimme gimme in stderr, which wasn t expected. Why are we getting this output?
29 Konspekt 3 Dynamiczna alokacja pamięci malloc/calloc free realloc memcpy
30 malloc i n t a = 5 ; i n t p_a = &a ;
31 malloc #i n c l u d e <s t d l i b. h> (... ) i n t p_a = malloc ( s i z e o f ( i n t ) ) ; p_a = 5 ;
32 malloc i n t p_a = malloc ( s i z e o f ( i n t ) ) ; p_a = 5 ;
33 malloc i n t p_a = malloc ( s i z e o f ( i n t ) ) ; p_a = 5 ;
34 calloc i n t a [ 1 0 ] ; i n t p_a = a ; p_a = a ;
35 calloc i n t p_a = malloc (10 s i z e o f ( i n t ) ) ;
36 calloc i n t p_a = c a l l o c (10, s i z e o f ( i n t ) ) ;
37 calloc i n t a [ 1 0 ] ; i n t p_a = malloc (10 s i z e o f ( i n t ) ) ; i n t p_a = c a l l o c (10, s i z e o f ( i n t ) ) ;
38 free void memory( void ) { char napis ; napis = malloc ( ) ; }
39 i n t main ( void ){ char p l i k [ 1 6 ] ; char buf [ 6 4 ] ; FILE wsk_pliku ; while ( 1 ) { p r i n t f ( "Nazwa p l i k u : " ) ; g e t s ( p l i k ) ; i f ( ( wsk_pliku=fopen ( p l i k, " r " ) )!= NULL) { while ( f g e t s ( buf, 6 4, wsk_pliku ) ) { p r i n t f ( "%s ", buf ) ; } } } free #i n c l u d e <s t d i o. h> #i n c l u d e <s t d l i b. h>
40 free 1 #i n c l u d e <s t d i o. h> 2 #i n c l u d e <s t d l i b. h> 3 #i n c l u d e <s t r i n g. h> 4 5 void main ( void ){ 6 char buf=null; char p l i k [ 1 6 ] ; 7 long l e n =0; FILE wsk_pliku=null; 8 while ( 1 ) { 9 p r i n t f ( "Nazwa p l i k u : " ) ; f g e t s ( p l i k, 1 6, s t d i n ) ; 10 p l i k [ s t r l e n ( p l i k ) 1]=0; 11 i f ( ( wsk_pliku=fopen ( p l i k, " r " ) )!= NULL) { 12 while ( g e t l i n e (&buf,& len, wsk_pliku )!= 1) { 13 p r i n t f ( "%s ", buf ) ; 14 } 15 f c l o s e ( wsk_pliku ) ; 16 } 17 }
41 realloc void *realloc(void *ptr, size_t size); ptr==null > malloc size==0 > free move
42 memcpy char a [ ] = " H e l l o world! " ; a = "Goodbye world! " ; // e r r o r : assignment to e x p r e s s i o n with array type
43 memcpy char a = malloc ( 3 2 ) ; p r i n t f ( "%p\n", a ) ; a = " Test1 " ; p r i n t f ( "%p\n", a ) ; a = " Test2 " ; p r i n t f ( "%p\n", a ) ; a = " Test1 " ; p r i n t f ( "%p\n", a ) ; / 0 x557ce5ab x557ce540a808 0 x557ce540a80e 0 x557ce540a808 /
44 memcpy 1 #i n c l u d e <s t d i o. h> 2 #i n c l u d e <s t d l i b. h> 3 #i n c l u d e <s t r i n g. h> 4 i n t main ( void ){ 5 char a = " Hello world! " ; 6 p r i n t f ( "%p\n", a ) ; 7 strncpy ( a, "Goodbye! ", 1 3 ) ; 8 p r i n t f ( "%p %s \n", a, a ) ; 9 return 0 ; 10 } 11 / 0 x55cc segmentation f a u l t ( core dumped) /
45 memcpy 1 #i n c l u d e <s t d i o. h> 2 #i n c l u d e <s t d l i b. h> 3 #i n c l u d e <s t r i n g. h> 4 i n t main ( void ){ 5 char a = malloc ( 1 3 ) ; 6 strncpy ( a, " H e l l o world! ", 1 3 ) ; 7 p r i n t f ( "%p %s \n", a, a ) ; 8 strncpy ( a, "Goodbye! ", 1 3 ) ; 9 p r i n t f ( "%p %s \n", a, a ) ; 10 return 0 ; 11 } 12 / 13 0 x55d22b4b8260 Hello world! 14 0 x55d22b4b8260 Goodbye! 15 /
46 memcpy 1 #i n c l u d e <s t d i o. h> 2 3 char t e s t ( void ) { 4 char a [ ] = " t e s t 1 " ; 5 return a ; 6 } 7 void main ( void ) { 8 char a = t e s t ( ) ; 9 p r i n t f ( "%s \n", a ) ; } warning : f u n c t i o n r e t u r n s address o f l o c a l v a r i a b l e 14 segmentation f a u l t ( core dumped)
47 Funkcje zakazane gets() strcpy() strcat() *sprintf("%s")
48 Bibliografia
49 Koniec Dziękuję za uwagę!
Informatyka. Wy-02 Tablice, wskaźniki, warunki i pętle. mgr inż. Krzysztof Kołodziejczyk
Informatyka Wy-02 Tablice, wskaźniki, warunki i pętle mgr inż. Krzysztof Kołodziejczyk krzysztof.m.kolodziejczyk@pwr.edu.pl 06.03.2019 Strona kursu http://w12.pwr.wroc.pl/inf/ Konspekt 1 if-else 2 do-while
Wskaź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
Temat: 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,
Co 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
Uzupełnienie dot. przekazywania argumentów
Uzupełnienie dot. przekazywania argumentów #include #include struct nowa { int f; char line[20000]; int k; } reprezentant; int main() { void funkcja7( struct nowa x); reprezentant.k=17;
wykład III uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - zarządzanie pamięcią, struktury,
, Programowanie, uzupełnienie notatek: dr Jerzy Białkowski , 1 2 3 4 , Wczytywanie liczb , Wczytywanie liczb 1 #include 2 #include < s t d l i b. h> 3 4 int main ( ) { 5 int rozmiar, numer
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:
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
dynamiczny przydział pamięci calloc() memset() memcpy( ) (wskaźniki!! )
dynamiczny przydział pamięci malloc() free() realloc() calloc() memset() memcpy( ) mempcpy( ) memmove() (wskaźniki!! ) 1 dynamiczny przydział pamięci void * memccpy (void * to, void * from, int c, int
Informatyka. Wy-05 Struktury, unie, organizacja pól struktur w pamięci
Informatyka Wy-05 Struktury, unie, organizacja pól struktur w pamięci mgr inż. Krzysztof Kołodziejczyk krzysztof.m.kolodziejczyk@pwr.edu.pl 27.03.2019 Strona kursu http://w12.pwr.wroc.pl/inf/ Konsultacje
Informatyka. Wy-08 Klasy. mgr inż. Krzysztof Kołodziejczyk
Informatyka Wy-08 Klasy mgr inż. Krzysztof Kołodziejczyk krzysztof.m.kolodziejczyk@pwr.edu.pl 17.04.2019 Strona kursu http://w12.pwr.wroc.pl/inf/ Konsultacje Piątek 13:00 C2/111a Konspekt 1 Struktura a
Języki i metodyka programowania. Wskaźniki i tablice.
Wskaźniki i tablice. Zmienna1 Zmienna2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Zmienna to fragment pamięci o określonym rozmiarze identyfikowany za pomocą nazwy, w którym może być przechowywana
Język ANSI C. część 11. Jarosław Gramacki Instytut Informatyki i Elektroniki
Wpisy zaliczeń: 18.02.2011, godz. 12:00, sala 503 Język ANSI C część 11 tablice 2D, alokacja pamięci Jarosław Gramacki Instytut Informatyki i Elektroniki Było: Alokacja pamięci, stos i sterta Stałe, zmienne
DYNAMICZNE 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
Struktury czyli rekordy w C/C++
Struktury czyli rekordy w C/C++ Wprowadzenie do programowania w języku C struktury. pola bitowe, unie Struktury (rekordy) są złożonymi zmiennymi, składającymi się z elementów różnych typów zwanych polami,
Tablice, funkcje - wprowadzenie
Tablice, funkcje - wprowadzenie Przemysław Gawroński D-10, p. 234 Wykład 5 25 marca 2019 (Wykład 5) Tablice, funkcje - wprowadzenie 25 marca 2019 1 / 12 Outline 1 Tablice jednowymiarowe 2 Funkcje (Wykład
Wskaźniki. Programowanie Proceduralne 1
Wskaźniki Programowanie Proceduralne 1 Adresy zmiennych Sterta 1 #include 2 3 int a = 2 ; 4 5 int main ( ) 6 { 7 int b = 3 ; 8 9 printf ( " adres zmiennej a %p\n", &a ) ; 10 printf ( " adres
Podstawy 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
Podstawy 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
Laboratorium 6: Dynamiczny przydział pamięci. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski
Laboratorium 6: Dynamiczny przydział pamięci dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski 15 maja 2015 1. Wprowadzenie Instrukcja poświęcona jest dynamicznemu przydziałowi i zwalnianiu pamięci w
Języki programowania obiektowego Nieobiektowe elementy języka C++
Języki programowania obiektowego Nieobiektowe elementy języka C++ Roman Simiński roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Tablice a zmienne wskaźnikowe Nazwa tablicy jako wskaźnik na
Typy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1
Typy złożone Struktury, pola bitowe i unie. Programowanie Proceduralne 1 Typy podstawowe Typy całkowite: char short int long Typy zmiennopozycyjne float double Modyfikatory : unsigned, signed Typ wskaźnikowy
Bardzo szybkie podsumowanie: wykład 3
Bardzo szybkie podsumowanie: wykład 3 wer. 7 z drobnymi modyfikacjami! Wojciech Myszka 2019-04-02 09:08:04 +0200 Uwagi 1. Obowiązuje cały materiał! 2. Tu tylko podsumowanie. Wskaźniki. Pamięć dynamiczna
Powyższe wyrażenie alokuje 200 lub 400 w zależności od rozmiaru int w danym systemie. Wskaźnik wskazuje na adres pierwszego bajtu pamięci.
1. Tablice dynamiczne Początkowa zadeklarowana wielkość tablicy czasami może okazać niewystarczająca, lub nadmierna. Dynamiczna alokacja pamięci wykorzystywana jest w celu otrzymania bądź zwolnienia pamięci
KURS 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
WYKŁAD 10. Zmienne o złożonej budowie Statyczne i dynamiczne struktury danych: lista, kolejka, stos, drzewo. Programy: c5_1.c, c5_2, c5_3, c5_4, c5_5
WYKŁAD 10 Zmienne o złożonej budowie Statyczne i dynamiczne struktury danych: lista, kolejka, stos, drzewo Programy: c5_1.c, c5_2, c5_3, c5_4, c5_5 Tomasz Zieliński ZMIENNE O ZŁOŻONEJ BUDOWIE (1) Zmienne
Programowanie Proceduralne
Programowanie Proceduralne Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 7 strlen size_t strlen(char const *s); Oblicza długość napisu wskazywanego przez s Przykładowy
Stał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
Zaawansowane programowanie w języku C++ Biblioteka standardowa
Zaawansowane programowanie w języku C++ Biblioteka standardowa Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka
Programowanie I C / C++ laboratorium 03 arytmetyka, operatory
Programowanie I C / C++ laboratorium 03 arytmetyka, operatory Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2013-02-19 Typ znakowy Typ znakowy Typ wyliczeniowy # include
Tablice, funkcje, wskaźniki - wprowadzenie
Tablice, funkcje, wskaźniki - wprowadzenie Przemysław Gawroński D-10, p. 234 Wykład 4 19 listopada 2018 (Wykład 4) Tablice, funkcje, wskaźniki - wprowadzenie 19 listopada 2018 1 / 37 Outline 1 Tablice
Podstawy programowania w języku C++
Podstawy programowania w języku C++ Część dziewiąta Tablice a zmienne wskaźnikowe Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Niniejsze opracowanie zawiera
Wskaźniki. Pamięć dynamiczna
Wskaźniki. Pamięć dynamiczna wer. 8 z drobnymi modyfikacjami Wojciech Myszka 2015-04-13 11:39:01 +0200 Wskaźniki Wskaźniki to podstawa C. Kto nie umie się nimi posługiwać ten nie potrafi wykorzystać siły
Programowanie 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
Podstawy programowania w języku C++
Podstawy programowania w języku C++ Część dziewiąta Tablice a zmienne wskaźnikowe Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści
Tablice w argumentach funkcji. Tablicy nie są przekazywane po wartości Tablicy są przekazywane przez referencje lub po wskaźniku
Tablice w argumentach funkcji Tablicy nie są przekazywane po wartości Tablicy są przekazywane przez referencje lub po wskaźniku Przykład: char str[] = abcdef ;... fun(str); // argument faktyczny to id
Programowanie I C / C++ laboratorium 02 Składnia pętli, typy zmiennych, operatory
Programowanie I C / C++ laboratorium 02 Składnia pętli, typy zmiennych, operatory Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2013-02-19 Pętla while Pętla while Pętla
Lab 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
Podstawy programowania w języku C++
Podstawy programowania w języku C++ Część jedenasta Przetwarzanie plików amorficznych Konwencja języka C Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 12 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Obsługa łańcuchów znakowych getchar(), putchar()
4. Tablica dwuwymiarowa to jednowymiarowa tablica wskaźników do jednowymiarowych tablic danego typu.
Języki i paradygmaty programowania 1 studia stacjonarne 2018/19 Lab 6. Tablice znakowe o dwóch indeksach, przekazywanie tablic do funkcji cd., dynamiczna alokacja pamięci, funkcje przetwarzające ciągi
Pobieranie argumentów wiersza polecenia
Pobieranie argumentów wiersza polecenia 2. Argumenty wiersza polecenia Lista argumentów Lista argumentów zawiera cały wiersz poleceń, łącznie z nazwą programu i wszystkimi dostarczonymi argumentami. Przykłady:
Tablice deklaracja, reprezentacja wewnętrzna
Tablice deklaracja, reprezentacja wewnętrzna Tablica jest zmienną złożoną z elementów tego samego typu. Obejmuje ona ciągły obszar pamięci operacyjnej dokładnie tak duży, aby zmieścić wszystkie jej elementy.
Język ANSI C tablice wielowymiarowe
Język ANSI C tablice wielowymiarowe Gdy tablica wielowymiarowa jest parametrem funkcji, to w standardzie ANSI C konieczne jest podanie wszystkich wymiarów poza pierwszym. Przykład. Napisać program wczytujący
Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe
Wykład 15 Wprowadzenie do języka na bazie a Literatura Podobieństwa i różnice Literatura B.W.Kernighan, D.M.Ritchie Język ANSI Kompilatory Elementarne różnice Turbo Delphi FP Kylix GNU (gcc) GNU ++ (g++)
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się
Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C
Grzegorz Cygan Wstęp do programowania mikrosterowników w języku C Mikrosterownik Inne nazwy: Microcontroler (z języka angielskiego) Ta nazwa jest powszechnie używana w Polsce. Mikrokomputer jednoukładowy
Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.
Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. 1. Przygotowanie środowiska programistycznego. Zajęcia będą
Podstawy programowania 1
Podstawy programowania 1 Krzysztof Grudzień kgrudzi@kis.p.lodz.pl Wykład nr 2 1 Plan spotkań Wskaźniki Tablice jednowymiarowe & wska źniki. Programowanie w C. Wikibooks 2 Co to jest wskaźnik?? Wskaźnik
Ghost in the machine
Operacje na pami eci i odrobina I/O Zak lad Chemii Teoretycznej UJ 8 stycznia 2007 Funkcje operujace Wstep do operacji I/O na plikach 1 Operacje na pami eci 2 Funkcje operujace 3 Wst Funkcje operujace
Programowanie I C / C++ laboratorium 01 Organizacja zajęć
Programowanie I C / C++ laboratorium 01 Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2013-02-12 Program zajęć Zasady zaliczenia Program operacje wejścia i wyjścia instrukcje
main( ) main( void ) main( int argc, char argv[ ] ) int MAX ( int liczba_1, liczba_2, liczba_3 ) źle!
Funkcja wysoce niezależny blok definicji i instrukcji programu (podprogram) Każdy program napisany w języku C/C++ zawiera przynajmniej jedną funkcję o predefiniowanej nazwie: main( ). Najczęściej wykorzystuje
Wskaźniki w C. Anna Gogolińska
Wskaźniki w C Anna Gogolińska Zmienne Zmienną w C można traktować jako obszar w pamięci etykietowany nazwą zmiennej i zawierający jej wartość. Przykład: kod graficznie int a; a a = 3; a 3 Wskaźniki Wskaźnik
Wskaźniki. Pamięć dynamiczna
Wskaźniki. Pamięć dynamiczna wer. 10 Wojciech Myszka Katedra Mechaniki i Inżynierii Materiałowej 2019-03-27 08:28:44 +0100 Literatura I Ted Jensen. A tutorial on pointers and arrays in C, Feb. 2000. Dostępne
Typy danych. Przemysław Gawroński D-10, p lutego Wykład 1. (Wykład 1) Typy danych 25 lutego / 11
Typy danych Przemysław Gawroński D-10, p. 234 Wykład 1 25 lutego 2019 (Wykład 1) Typy danych 25 lutego 2019 1 / 11 Outline 1 Literatura 2 Programowanie proceduralne 3 Podstawowe typy danych (Wykład 1)
Struktury. Przykład W8_1
Struktury Struktury pozwalają na grupowanie zmiennych różnych typów pod wspólną nazwą. To istotnie ułatwia organizacje danych, które okazują się w jednym miejscu kodu programu. To jest bardzo ważne dla
Programowanie Proceduralne
Programowanie Proceduralne Struktury Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 10 Co dziś będzie: Definiowanie struktury Deklarowanie zmiennych bȩda cych strukturami
Wprowadzenie do języka Java
WSNHiD, Programowanie 2 Lab. 1 [ część 1 ] Wprowadzenie do języka Java Wprowadzenie Język programowania Java jest obiektowym językiem programowania. Powstał w 1995 i od tej pory był intensywnie rozwijany.
dr inż. Paweł Myszkowski Wykład nr 8 (22.04.2015)
dr inż. Paweł Myszkowski Politechnika Białostocka Wydział Elektryczny Elektronika i Telekomunikacja, semestr II, studia stacjonarne I stopnia Rok akademicki 2014/2015 Wykład nr 8 (22.04.2015) Plan prezentacji:
Shared memory and messages. Functions. process 0. process 1. program 0. program 0. data 0. data 1. program 1. data 0. data 1.
Shared memory and messages Shared memory vs message passing Shared memory - C functions Shared memory - example program Message queues - C functions Message queues - example program process 0 process 1
Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.
Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Wskaźnik do pliku Dostęp do pliku: zapis, odczyt,
Podstawy programowania w języku C++
Podstawy programowania w języku C++ Część dziewiąta Tablice a zmienne wskaźnikowe Wersja skrócona, tylko C++ Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie
Funkcje zawarte w bibliotece < io.h >
PLIKOWE OPERACJE WEJŚCIA - WYJŚCIA Język C/C++ nie ma wbudowanych żadnych instrukcji umożliwiających wykonywanie operacji wejścia-wyjścia! Służą do tego funkcje biblioteczne. Funkcje zawarte w bibliotece
Wskaźniki. Przemysław Gawroński D-10, p Wykład 1. (Wykład 1) Wskaźniki / 9
Wskaźniki Przemysław Gawroński D-10, p. 234 Wykład 1 01.04.2019 (Wykład 1) Wskaźniki 01.04.2019 1 / 9 Outline 1 Literatura 2 Programowanie proceduralne - zarządzanie pamięcią 3 Wskaźniki 4 Tablice a wskaźniki
ISO/ANSI C dostęp do plików ISO/ANSI C. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików
ISO/ANSI C Dostęp do plików w trybie tekstowym znak po znaku Czytanie z pliku int fgetc( FILE *stream ); char buffer[81]; int i, ch; if((stream = fopen("test.txt","r")) == NULL ) exit( 0 ); ch
Język C zajęcia nr 11. Funkcje
Język C zajęcia nr 11 Funkcje W języku C idea podprogramów realizowana jest wyłącznie poprzez definiowanie i wywołanie funkcji. Każda funkcja musi być przed wywołaniem zadeklarowana. Deklaracja funkcji
Pliki. Informacje ogólne. Obsługa plików w języku C
Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych. Może posiadać określone atrybuty, a odwołanie do niego odbywa się poprzez nazwę. Każdy plik ma skończoną
Wstęp do programowania
Wstęp do programowania Przemysław Gawroński D-10, p. 234 Wykład 1 8 października 2018 (Wykład 1) Wstęp do programowania 8 października 2018 1 / 12 Outline 1 Literatura 2 Programowanie? 3 Hello World (Wykład
Wskaź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ą
Języki programowania. Przetwarzanie plików amorficznych Konwencja języka C. Część siódma. Autorzy Tomasz Xięski Roman Simiński
Języki programowania Część siódma Przetwarzanie plików amorficznych Konwencja języka C Autorzy Tomasz Xięski Roman Simiński Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie
Funkcje zawarte w bibliotece < io.h >
PLIKOWE OPERACJE WEJŚCIA - WYJŚCIA Język C/C++ nie ma wbudowanych żadnych instrukcji umożliwiających wykonywanie operacji wejścia-wyjścia! Służą do tego funkcje biblioteczne. Funkcje zawarte w bibliotece
część 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
Microsoft IT Academy kurs programowania
Microsoft IT Academy kurs programowania Podstawy języka C# Maciej Hawryluk Język C# Język zarządzany (managed language) Kompilacja do języka pośredniego (Intermediate Language) Kompilacja do kodu maszynowego
Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.
Podstawowe elementy proceduralne w C++ Program i wyjście Zmienne i arytmetyka Wskaźniki i tablice Testy i pętle Funkcje Pierwszy program // Niezbędne zaklęcia przygotowawcze ;-) #include using
Ćwiczenie nr 6. Poprawne deklaracje takich zmiennych tekstowych mogą wyglądać tak:
Ćwiczenie nr 6 Temat: Operacje na łańcuchach znaków. Zagadnienia: Zasady pracy z łańcuchami tekstowymi (tablice wartości typu char). funkcje standardowe operacji na łańcuchach, funkcje I/O dla operacji
Wprowadzenie do programowania w języku C
Wprowadzenie do programowania w języku C Część szósta Zmienne wskaźnikowe koncepcja, zastosowania, sztuczki i triki Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie
Języki i paradygmaty programowania 1 studia stacjonarne 2018/19. Lab 9. Tablice liczbowe cd,. Operacje na tablicach o dwóch indeksach.
Języki i paradygmaty programowania 1 studia stacjonarne 2018/19 Lab 9. Tablice liczbowe cd,. Operacje na tablicach o dwóch indeksach. 1. Dynamiczna alokacja pamięci dla tablic wielowymiarowych - Przykładowa
Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik
Wykład VII Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Kompilacja Kompilator C program do tłumaczenia kodu źródłowego na język maszynowy. Preprocesor
Podstawy programowania. Wykład Co jeszcze... Przypomnienia, uzupełnienia. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Co jeszcze... Przypomnienia, uzupełnienia Krzysztof Banaś Podstawy programowania 1 Typy danych Podstawowe wbudowane typy danych języka C: _Bool 0 i 1 (C99) znaki (char) 7
Tworzenie aplikacji w języku Java
Tworzenie aplikacji w języku Java Wykład 1 Piotr Czapiewski Wydział Informatyki ZUT 2 października 2009 Piotr Czapiewski (Wydział Informatyki ZUT) Tworzenie aplikacji w języku Java 2 października 2009
Stałe i zmienne znakowe. Stała znakowa: znak
Stałe i zmienne znakowe. Stała znakowa: znak Na przykład: a, 1, 0 c Każdy znak jest reprezentowany w pamięci przez swój kod. Kody alfanumerycznych znaków ASCII to liczby z przedziału [32, 127]. Liczby
Podstawy 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
Podstawy programowania w języku C++
Podstawy programowania w języku C++ Część siódma Przetwarzanie tablic znaków Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,
DANE TEKSTOWE W JĘZYKU C/C++ - TABLICE ZNAKOWE
DANE TEKSTOWE W JĘZYKU C/C++ - TABLICE ZNAKOWE Stała tekstowa / łańcuchowa jest tablicą znaków zakończoną znakiem o kodzie: 0 np. stała łańcuchowa: Jestem tekstem ASCII... J e s t e m t e k s t e m \0...
Wstęp do programowania obiektowego. WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this
Wstęp do programowania obiektowego WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this 1 Nazwa typu Rozmiar Zakres Uwagi bool 1 bit wartości true albo false stdbool.h TYPY ZNAKOWE
Ćwiczenie 4. Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1.
Laboratorium Podstaw Informatyki Strona 1 Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Ćwiczenie 4 Obsługa plików Kraków 2010 Laboratorium Podstaw Informatyki Strona 2 Obsługa plików Zanim
Języki i metodyka programowania. Wprowadzenie do języka C
Literatura: Brian W. Kernighan, Dennis M. Ritchie Język Ansi C, Wydawnictwa Naukowo - Techniczne, 2007 http://cm.bell-labs.com/cm/cs/cbook/index.html Scott E. Gimpel, Clovis L. Tondo Język Ansi C. Ćwiczenia
Podstawy Programowania.
Podstawy Programowania http://www.saltbox.com/img/under_the_hood.png O mnie... dr inż. Łukasz Graczykowski Zakład Fizyki Jądrowej Wydział Fizyki Politechniki Warszawskiej lgraczyk@if.pw.edu.pl www.if.pw.edu.pl/~lgraczyk/wiki
Zmienne, stałe i operatory
Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe
Wstęp do programowania 1
Wstęp do programowania 1 Struktury Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 12 Struktura dla dat - przykład #include struct Date { int y; short m; short
Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1. Kraków 2013
Laboratorium Podstaw Informatyki Strona 1 Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Obsługa plików Kraków 2013 Laboratorium Podstaw Informatyki Strona 2 Obsługa plików Zanim będziemy mogli
Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik
Wykład VI Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Operacje na plikach Operacje na plikach Aby móc korzystać z pliku należy go otworzyć w odpowiednim
Część 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ęść
Lab 8. Tablice liczbowe cd,. Operacje macierzowo-wektorowe, memcpy, memmove, memset. Wyrażenie warunkowe.
Języki i paradygmaty programowania 1 studia stacjonarne 2018/19 Lab 8. Tablice liczbowe cd,. Operacje macierzowo-wektorowe, memcpy, memmove, memset. Wyrażenie warunkowe. 1. Wektory i macierze: a. Przykład
C compiler (Linux) Cześć 01 - Ćwiczenia strona 2 z 9
C compiler (Linux) Cześć 01 - Ćwiczenia strona 1 z 9 Warunek wstępny : wykonanie instrukcji i poleceń opisanych w pliku c_czesc01_kompilator_wstep.pdf W systemie Linux Wykonaj następujące ćwiczenia (17
Funkcja, argumenty funkcji
Funkcja, argumenty funkcji Funkcja to jest część programu, która ma swoje imię, może być wywołaną z drugiej części programu tyle razy, ile to jest koniecznie. Przykład: funkcja power podnosi liczbę rzeczywistą
C++ język nie dla ludzi o słabych nerwach. Małgorzata Bieńkowska
C++ język nie dla ludzi o słabych nerwach Małgorzata Bieńkowska malgorzata.bienkowska@gmail.com 9LivesData HYDRAStor Dla NEC Japan od ponad 10 lat 1,5 miliona linii kodu większość rozwijana w Warszawie
PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO
PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO LABORATORIUM Temat: QNX Neutrino Interrupts Mariusz Rudnicki 2016 Wstęp W QNX Neutrino wszystkie przerwania sprzętowe przechwytywane są przez jądro systemu. Obsługę
ŁAŃCUCHY W JĘZYKU C/C++
ŁAŃCUCHY W JĘZYKU C/C++ Stała tekstowa / łańcuchowa jest tablicą znaków zakończoną znakiem o kodzie: 0 np. stała łańcuchowa: Jestem tekstem... 74 101 115 116 101 109 32 116 101 107 115 116 101 109 0......
Wskaź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
// 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