
Przysłowie "kto pyta, nie błądzi" nie zawiera całej prawdy. Nie wystarczy pytać, trzeba jeszcze znajdować odpowiedzi. Książka "Programowanie w języku C. FAQ" to zbiór kilkuset odpowiedzi na najczęściej zadawane pytania na temat tego języka programowania. Z pewnością część z przedstawionych tu pytań już pojawiła się w Twojej praktyce programistycznej (pamiętasz, ile czasu straciłeś poszukując odpowiedzi?). Inne problemy dopiero się pojawią i jeśli na Twojej półce będzie ta książka, szybko znajdziesz w niej zwięzłe, ale wyczerpujące rozwiązanie często wzbogacone przykładem kodu źródłowego.Chociaż książka żadną miarą nie powinna być traktowana jako podręcznik, z którego można nauczyć się programowania w C, z pewnością przyda się każdej osobie używającej tego języka w codziennej praktyce. Autor porusza wiele przydatnych zagadnień obejmujących szeroki zestaw tematów.
Omówiono między innymi:
- Deklaracje
- Struktury i unie
- Puste wskaźniki
- Wyrażenia
- Makroprocesor
- Alokację pamięci
- Różnice między standardami C
- Standardową bibliotekę wejścia-wyjścia
- Kwestie związane z systemami operacyjnymi
Pytania (9)Przedmowa (37)
Wprowadzenie (41)
- Jak korzystać z tej książki? (41)
- Format pytań (43)
- Przykłady kodu (43)
- Organizacja książki (44)
- Podstawowe typy (47)
- Deklaracje wskaźników (50)
- Styl deklaracji (51)
- Klasy pamięci (54)
- Definicje typów (55)
- Kwalifikator const (59)
- Złożone deklaracje (59)
- Rozmiary tablic (62)
- Problemy z deklaracjami (64)
- Przestrzeń nazw (65)
- Inicjalizacja (69)
- Deklaracje struktur (73)
- Działania na strukturach (78)
- Wyrównywanie pól struktur (80)
- Dostęp do pól struktur (82)
- Różne pytania na temat struktur (83)
- Unie (84)
- Typy wyliczeniowe (85)
- Pola bitowe (86)
- Kolejność obliczania (89)
- Inne pytania na temat wyrażeń (96)
- Reguły zachowywania (100)
- Podstawy (103)
- Działania na wskaźnikach (105)
- Wskaźniki jako parametry funkcji (106)
- Różne zastosowania wskaźników (110)
- Wskaźniki puste i literały wskaźnika pustego (113)
- Makrodefinicja NULL (116)
- Retrospektywa (121)
- Co można znaleźć pod adresem 0? (124)
- Podstawowe związki między tablicami i wskaźnikami (128)
- Tablicom nie można przypisywać wartości (131)
- Retrospektywa (132)
- Wskaźniki do tablic (134)
- Dynamiczne tworzenie tablic (136)
- Funkcje a tablice wielowymiarowe (140)
- Rozmiary tablic (143)
- Podstawowe problemy z przydzielaniem pamięci (145)
- Wywoływanie funkcji malloc (149)
- Problemy z funkcją malloc (152)
- Zwalnianie pamięci (155)
- Rozmiar przydzielonych bloków (158)
- Inne funkcje przydzielające pamięć (159)
Rozdział 9. Wyrażenia i zmienne logiczne (171)
Rozdział 10. Preprocesor języka C (175)
- Makrodefinicje (175)
- Pliki nagłówkowe (180)
- Kompilacja warunkowa (183)
- Zaawansowane przetwarzanie (186)
- Makrodefinicje ze zmienną liczbą argumentów (189)
- Standard (193)
- Prototypy funkcji (195)
- Kwalifikator const (198)
- Funkcja main (200)
- Właściwości preprocesora (203)
- Inne sprawy związane ze Standardem ANSI (205)
- Stare lub niezgodne ze Standardem kompilatory (208)
- Kwestie zgodności (211)
- Podstawy obsługi wejścia-wyjścia (216)
- Formaty dla funkcji printf (218)
- Formaty dla funkcji scanf (222)
- Problemy z funkcją scanf (224)
- Inne funkcje z biblioteki wejścia-wyjścia (228)
- Otwieranie plików i operacje na nich (232)
- Przekierowywanie strumieni stdin i stdout (235)
- Obsługa wejścia-wyjścia w trybie binarnym (237)
- Funkcje operujące na napisach (241)
- Sortowanie (247)
- Data i czas (251)
- Liczby losowe (254)
- Inne funkcje biblioteczne (261)
Rozdział 15. Listy argumentów o zmiennej długości (273)
- Wywoływanie funkcji o zmiennej liczbie argumentów (274)
- Implementacja funkcji o zmiennej liczbie argumentów (275)
- Pobieranie argumentów z listy (280)
- Trudniejsze problemy (283)
Rozdział 17. Styl (293)
Rozdział 18. Narzędzia i zasoby (299)
- Narzędzia (299)
- Program lint (301)
- Zasoby (303)
- Klawiatura i ekran (310)
- Inne operacje wejścia-wyjścia (316)
- Pliki i katalogi (318)
- Bezpośredni dostęp do pamięci (324)
- Polecenia systemowe (326)
- Środowisko procesu (329)
- Inne operacje zależne od systemu (330)
- Retrospektywa (333)
- Przydatne techniki (336)
- Bity i bajty (343)
- Wydajność (348)
- Instrukcja switch (352)
- Różne kwestie językowe (354)
- Inne języki (358)
- Algorytmy (359)
- Inne (364)
Bibliografia (379)
Skorowidz (383)