Informatyka - strona 16

Kurs programowania w C cz. 140

  • Politechnika Poznańska
  • prof. nadzw. PP dr hab. inż. Stefana Gocholewski
  • Informatyka
Pobrań: 0
Wyświetleń: 560

158 ROZDZIAŁ 21. WIĘCEJ O KOMPILOWANIU Aby procesor mógł łatwiej przetworzyć dane kompilator może dodać do tej struktury jedno, ośmiobitowe pole. Wtedy struktura będzie wyglądała tak: typedef struct { unsigned char wiek; /*8 bitów */ unsigned char...

Kurs programowania w C cz. 142

  • Politechnika Poznańska
  • prof. nadzw. PP dr hab. inż. Stefana Gocholewski
  • Informatyka
Pobrań: 0
Wyświetleń: 588

Rozdział 22 Zaawansowane operacje matematyczne Biblioteka matematyczna Aby móc korzystać z wszystkich dobrodziejstw funkcji matematycznych musimy na po- czątku dołączyć plik  math.h: #include  A w procesie kompilacji (dotyczy kompilatora GCC) musimy niekiedy dodać flagę “-lm”: gcc plik.c -o plik -lm...

Kurs programowania w C cz. 143

  • Politechnika Poznańska
  • prof. nadzw. PP dr hab. inż. Stefana Gocholewski
  • Informatyka
Pobrań: 0
Wyświetleń: 616

162 ROZDZIAŁ 22. ZAAWANSOWANE OPERACJE MATEMATYCZNE Prezentacja liczb rzeczywistych w pamięci komputera Być może ten temat może wydać Ci się niepotrzebnym, lecz w wielu książka...

Kurs programowania w C cz. 146

  • Politechnika Poznańska
  • prof. nadzw. PP dr hab. inż. Stefana Gocholewski
  • Informatyka
Pobrań: 0
Wyświetleń: 511

Rozdział 23 Powszechne praktyki Rozdział ten ma za zadanie pokazać powszechnie stosowane metody programowania w C. Nie będziemy tu uczyć, jak należy stawiać nawiasy klamrowe ani który sposób nazew- nictwa zmiennych jest najlepszy — prowadzone są o to spory, z których niewiele wynika. Zaprezentowane...

Kurs programowania w C cz. 147

  • Politechnika Poznańska
  • prof. nadzw. PP dr hab. inż. Stefana Gocholewski
  • Informatyka
Pobrań: 0
Wyświetleń: 609

166 ROZDZIAŁ 23. POWSZECHNE PRAKTYKI void free_string(struct string *s) { assert (s != NULL); free(s-data); /* zwalniamy pamięć zajmowaną przez strukturę */ free(s); /* usuwamy samą strukturę */ } Często łączy się destruktory z  zerowaniem zwolnionych wskaźników. Czasami dobrze jest ukryć defin...

Kurs programowania w C cz. 148

  • Politechnika Poznańska
  • prof. nadzw. PP dr hab. inż. Stefana Gocholewski
  • Informatyka
Pobrań: 0
Wyświetleń: 455

KONWENCJE PISANIA MAKR 167 Konwencje pisania makr Ponieważ makra preprocesora działają na zasadzie zwykłego zastępowania napisów, są podatne na wiele kłopotliwych błędów, z których części można uniknąć przez stosowanie się do poniższych reguł: 1. Umieszczaj nawiasy dookoła argumentów makra kiedy to...

Kurs programowania w C cz. 149

  • Politechnika Poznańska
  • prof. nadzw. PP dr hab. inż. Stefana Gocholewski
  • Informatyka
Pobrań: 0
Wyświetleń: 595

168 ROZDZIAŁ 23. POWSZECHNE PRAKTYKI • — logiczne “nie” Oprócz tego są także przesunięcia ( «  oraz  » ). Zastanówmy się teraz, jak je wykorzystać w praktyce. Załóżmy, że zajmujemy się jednobajtową zmienną. unsigned char i = 2; Z matematyki wiemy, że zapis binarny tej liczby wygląda tak (w ośmiobit...

Kurs programowania w C cz. 151

  • Politechnika Poznańska
  • prof. nadzw. PP dr hab. inż. Stefana Gocholewski
  • Informatyka
Pobrań: 0
Wyświetleń: 574

Rozdział 24 Przenośność programów Jak dowiedziałeś się z poprzednich rozdziałów tego podręcznika, język C umożliwia two- rzenie programów, które mogą być uruchamiane na różnych platfo...

Kurs programowania w C cz. 155

  • Politechnika Poznańska
  • prof. nadzw. PP dr hab. inż. Stefana Gocholewski
  • Informatyka
Pobrań: 0
Wyświetleń: 490

BIBLIOTECZNE PROBLEMY 175 #include  #include  int main() { uint32_t val = 0x04030201; unsigned char *v = (unsigned char *)&val; int byte_order = v[0] * 1000 + v[1] * 100 + v[2] * 10 + v[3]; if (byte_order == 4321) { printf("Porządek big-en...

Kurs programowania w C cz. 156

  • Politechnika Poznańska
  • prof. nadzw. PP dr hab. inż. Stefana Gocholewski
  • Informatyka
Pobrań: 0
Wyświetleń: 455

176 ROZDZIAŁ 24. PRZENOŚNOŚĆ PROGRAMÓW a w kodzie programu zamiast słówka inline stosować inline . Co więcej, kompilator GCC rozumie słówka kluczowe tak tworzone i w jego przypadku warto nie redefiniować ich wartości: #ifndef __GNUC__ # ifndef __inline__ # if __STDC_VERSION__ = 199901L # define __in...