Dyskusja:C

Treść strony nie jest dostępna w innych językach.
Z Wikibooks, biblioteki wolnych podręczników.

Opis procesu kompilacji[edytuj]

Myślę, że przydałoby się dodanie opisu kompilacji dla różnych popularnych kompilatorów. Ja używam jedynie gcc i jego któtki opis mogę dostarczyć ale nie wiem gdzie to wpasować. Może do rozdziału "podstawowe wiadomości"? BTW. uważam, że powinien on być pierwszy w spisie treści. --Mr-k 12:11, 3 lip 2005 (UTC)

Proponuję dodać to zaraz po jakims wstepie. Sebastian Nanek 12:54, 3 lip 2005 (UTC)
można też do Programowanie_w_systemie_UNIX/Kompilacja--Adam majewski 21:25, 28 lut 2009 (CET)[odpowiedz]

Należałoby ją tu przenieść. Jakiś pomysł jak to uczynić? Jest to ok. 30 funkcji i struktur opisanych dokładnie. Ponton 10:57, 2 paź 2005 (UTC)

Moim zdaniem powinien powstać rozdział (strona) Biblioteka standardowa, gdzie znajdowałby się alfabetyczny i tematyczny indeks funkcji. Każdą funkcję możnaby opisać w osobnym artykule. Biblioteka standardowa powinna się znaleźć w dodatku Reference (właśnie nie wiem, jak tłumaczyć ten termin na polski, podręcznik, wykaz?), część Reference jest zademonstrowana w en:Programming:C.
Przeniósłbym z Wikipedii wszystkie artykuły o funkcjach, zostawiając te o bibliotece standardowej (to hasło encyklopedyczne, natomiast reszta nie powinna się znaleźc na Wikipedii, bo każdy z nich opisuje pojedyńczą funkcję jednego języka programowania).
Jak to zrobić? Proponuję dodać wpis na w:Wikipedia:Strony do usunięcia i spytać się innych o zdanie. Ktoś może mieć inny od nas pogląd na tę sprawę. Gdy sprawa będzie przegłosowana, przeklejamy ręcznie artykuły z Wikipedii tutaj. Proponowałby jednak zachowanie reguł nazewnictwa Wikibooks: np. C/fopen. --Derbeth 11:12, 2 paź 2005 (UTC)
Na Wikipedii zapadła już decyzja o przeniesieniu tych funkcji do WikiBooks. Ponton 12:07, 2 paź 2005 (UTC)
Moim zdaniem przy opisywaniu biblioteki STL należałoby także opisać bibliotekę Boost. POmimo, iż nie jest ona standardowa, jest przez wiele osób uważana za naturalne rozszerzenie STL (i tak też działa). Co o tym sądzicie? --Migol 03:03, 7 wrz 2006 (CEST)[odpowiedz]
Możnaby, ale jako kolejny dodatek po bibliotece standardowej (żeby ktoś nie pomyślał, że to jedno). Z tym, że to już inny podręcznik niż ten. --Derbeth talk 09:26, 7 wrz 2006 (CEST)[odpowiedz]

Programowanie:C:Biblioteki[edytuj]

Przydałoby się dodać punkt jak się robi bibliotekę dynamiczną(*.dll-dla windows-a i *.so - dla Linux-a) i podać przykłady kompilacji bibliotek przy użyciu innych kompilatorów z Windows-a. Powinno się także napisać gdzie wsadzić skompilowane biblioteki, gdyż biblioteki najczęściej wrzuca się do innego katalogu niż program(pod Linuxem). Sam bym napisał, ale nie mam pojęcia jak to zrobić, a co do innych spraw spróbuję dodać. Pawlosck 14:06, 18 lut 2006 (UTC)

Wiesz - też o tym myślałem, ale moja wiedza głównie dotyczy kompilatora GCC oraz systemów z rodziny UNIX. Jeśli coś mnie natchnie postaram się coś dopisać. Jeśli nie wiesz, jak nam pomóc odźwiedź Wikibooks:Portal użytkowników. Oprócz tego możesz się także zwrócić do mnie bezpośrednio. Pomogę na tyle, na ile będę w stanie. Kj 17:26, 5 mar 2006 (UTC)
Jeżeli chodzi o pisanie na wikiibooks to się orientuję bo napisałem jeden artykuł na wikipedii, więc z tym nie ma problemu. A ja się nie prientuję jeżeli chodzi o biblioteki czy to pod Win czy pod Linuxem, a chodzi dokładnie jak podłączyć jakieś obce biblioteki(nie dolacząne standardowo do kompilatora)do danego programu. Chciałem kiedyś spróbować napisać jakiś prosty klient mysql z biblioteki którą znalazłem na stronie, ale niestety mi nie wyszło bo nie wiedziałem jak funkcje z tej biblioteki podłączyć do kompilatora borlanda lub Visual C++. Kiedyś też chciałem napisać w Visual C++ okienko do otwierania i zapisywania plików takie coś jak "Save as" ale z większymi możliwościami takimi jak ma okienko w KDE, ale nie wiedziałęm jak zrobić taką bibliotekę i dałem sobie spokój.
Pawlosck 21:54, 7 mar 2006 (UTC)
Hmm. Podręcznik o programowaniu w C zawiera tylko najbardziej podstawowe informacje dotyczące samego języka. Obsługa bibliotek dynamicznych jest różna dla różnych systemów operacyjnych. Natomiast odnośnie Twoich pytań - odpowiedzi na tego typu pytania powinieneś szukać w dokumentacji kompilatora. Co do okienka zapisywania plików - tego typu elementy są obecne w elementach GUI samego systemu operacyjnego (czyli win32 dla Windowsa). W tej kwestii nie mogę Ci pomóc, ponieważ już dawno przestałem programować pod Windowsem. Aha - ten podręcznik ma tłumaczyć działanie języka C, natomiast nie sądzę, aby kiedykolwiek częścią tego podręcznika stał się dział, omawiający np. programowanie GUI. Natomiast nie widzę przeszkód w utworzeniu podręcznika, który omiawiałby programowanie "okienek" w systemie Windows lub innym.
Kj 22:16, 9 mar 2006 (UTC)
Osobiście nie jestem przekonany do książek które opisują same podstawy, ponieważ czasami żeby wytłumaczyć coś prostego trzeba sięgnąć do trudniejszych rzeczy(np: strumienie w C++). Poprostu z takimi książkami nie wiadomo co zrobić. Jeżeli w książce jest coś więcej napisane to wydaje mi się to bardziej sensowne. Mój wymarzony rodzaj książek to jest taki, żeby było napisane od A, do Z łatwym językiem, niestety takich książek takich chyba nie ma. Jedynym wyjątkiem który jest bliski ideału to książki Grębosza, Symfonia i Pasja C++.
Co do tych okienek to chodzi mi o możliwości, a nie o samo bycie. Jeżeli programujesz pod Linuxem, to zapewne widziałeś pod KDE, jakie tam są okienka do otwierania i zapisywania. chciałem takie coś sobie zrobić, ale mi nie wyszło tak jak mówiłem.
Pawlosck 17:02, 18 mar 2006 (UTC)

FAQ[edytuj]

w nauce programowania dużo pomogły mi różnego rodzaju FAQ - tak samo tutaj warto by było umieszczać FAQ do każego dziełu. Stimoroll 21:47, 9 mar 2006 (UTC)

Na przykład? --Derbeth talk 21:52, 9 mar 2006 (UTC)
Na przykład często jest pytanie jak przekonwertować liczbę na łańcuch, łańcuch na liczbę, jak z char[] przepisać do char* , czym się różni deklaracja char* od char[12] itp itd.. Wiele jest takich wątpliwości. Wpiszę kilka - tylko trzeba podział zrobić np.: łańcuchy tekstowe i przetwarzanie tekstów, konwersja między typami, operacje na plikach, wskaźniki i operacje na pamięci, - to narazie tyle mi przyszło do głowy. Stimoroll 21:25, 12 mar 2006 (UTC)
O właśnie, zwróciłes uwagę na ważną rzecz, nie mieliśmy przewidzianego niczego o konwertowaniu. Myślę, że powinno to trafić do rozdziału Napisy. Natomiast co do samego FAQ - moim zdaniem niewiele sensu ma robienie FAQ dla każdego rozdziału osobno - bo wtedy czytelnik żeby znaleźć odpowiedź na swoje pytanie będzie musiał wiedzieć, gdzie szukać. Raczej widziałbym FAQ jako uzupełnienie Indeksu, wspólne dla całego podręcznika. Byłyby tam mniej więcej takie pytania, jakie wymieniłeś z bardzo krótką odpowiedzią i odnośnikiem do odpowiedniego rozdziału. W sumie zrobienie takiego FAQ byłoby nawet korzystne, bo zrobilibyśmy więcej linków wewnątrz podręcznika, przy okazji nabijając sobie ranking Google ;-) --Derbeth talk 21:31, 12 mar 2006 (UTC)
Konwertowanie to nie tylko napisy - więc lepiej zrobić wogóle dział konwertowanie zamiast wrzucać w napisy. Stimoroll 21:53, 12 mar 2006 (UTC)
Konwertowanie w sensie rzutowania jest już opisane w rozdziale Zmienne i myślę, że jest to odpowiednie miejsce. Zostają więc tylko konwersje z i do tekstu. --Derbeth talk 22:11, 12 mar 2006 (UTC)
Hmm - wiadomości, które wymieniłeś w większości "papierowych" podręczników o C zawarte są w samej treści książki. Cała moja praca włożona w ten podręcznik była podporządkowana zasadzie, by jak najwięcej tekstu znalazło się w treści podręcznika i nie trzeba było niczego szukać właśnie po takich FAQ. Kj 09:07, 13 mar 2006 (UTC)

FAQ i Bibioteki[edytuj]

Sam podział na biblioteki jest jak najbardziej właściwy, natomiast z punktu widzenia laika wolałbym znaleźć gotowe odpowiedzi na moje pytania a potem zgłębiać wiedzę i tak na przykład w FAQ oprócz : operacje na tekstach znalazły by się działy: operacje na plikach lokalnych, operacje i komunikacja sieciowa, operacje na plikach zdalnych - i w tych działach pytania i odesłanie do konkretnych rozdziałów. Z książki w ten sposób ułożonej dopiero nauczyłem się programować w C (a nie tylko ja się z niej dopiero nauczyełm). Stimoroll 22:00, 12 mar 2006 (UTC) P.S. Bo niby jak ma się taki laik dowiedzieć, że by obsługiwać operacje na plikach ma poczytać o stdio ?

Moim zdaniem sprawy sieciowe wykraczają trochę poza język C i jeśli już powinny się pojawić, to jako dalekie dodatki. Razem z Kj myślimy o stworzeniu podręcznika o roboczym tytule "Programowanie w środowisku UNIX", gdzie będą omówione między innymi wątki i procesy, gniazdka i komunikacja sieciowa. Jeśli ten podręcznik powstanie, to materiał wspomniany przez ciebie raczej znajdzie się właśnie w nim (przypominam, że na Wikibooks nie dublujemy tematów).
Tak przy okazji, mówiliśmy z Kj o stworzeniu strony "Wikibooks:Planowanie podręczników", gdzie autorzy zgłaszaliby koncepcje nowych podręczników a następnie z innymi użytkownikami zastanawialiby się, jaki kształt powinien ten podręcznik przybrać. Czy ma to sens? --Derbeth talk 22:11, 12 mar 2006 (UTC)
Fajny pomysł - faktycznie lepiej jest najpierw zaplanować kształt podręcznika i stworzyć spis treści a potem działać. Stimoroll 08:34, 13 mar 2006 (UTC)

Programowanie:C:printf[edytuj]

Myślę, że przydałby się w opisie formatu także opis znaków sterujących w jakiejś zfrabnej formie.

Może tabelka? Na dniach postaram się taką przygotować i umieścić.--Migol 03:20, 7 wrz 2006 (CEST)[odpowiedz]

Zmiana we wcinaniu kodu[edytuj]

Musimy dokonać zmiany w zapisie kodu w podręczniku. Przy obecnym zapisie:

 dwie spacje a potem tekst
 tu jest druga linijka

w tekście pojawiają się niepotrzebne dodatkowe wcięcia; przy zaznaczeniu i skopiowaniu takiego fragmentu do edytora, wklejony kod będzie już wcięty (a nie powinien). Sugeruję, by "zerowe" wcięcie kodu wykonywać przy pomocy jednej spacji (wtedy kod zaznaczany jest prawidłowo). Pozostaje jeszcze kwestia dalszych wcięć - czy wcinamy o dwie, trzy a może więcej spacji? --Derbeth talk 02:20, 29 wrz 2006 (CEST)[odpowiedz]

Masz rację z tymi wcięciami. Co do dalszych wcięć: proponuję, aby niższe "poziomy" były odsuwane o dwie spacje. Większa ilość spacji ograniczy czytelność większych przykładów. --Kj 14:40, 29 wrz 2006 (CEST)[odpowiedz]

Rozkład działów[edytuj]

Odnoszę wrażenie, że rozdziały podręcznika są niewłaściwie poukładane, np. "Podstawowe operacje wejścia-wyjścia" są przed rodziałem o funkcjach. W związku z tym proponowałbym taki oto układ spisu treści (w części "C dla początkujących"):

  • Pierwszy program
  • Podstawowe wiadomości
  • Zmienne w C
  • Instrukcje sterujące
  • Funkcje
  • Preprocesor
  • Biblioteka standardowa
  • Podstawowe procedury wejścia i wyjścia
  • Podstawowe operacje matematyczne
  • Czytanie i pisanie do plików
  • Zaawansowane operacje matematyczne
  • Ćwiczenia

Wydaje mi się, że taki układ materiału ułatwi czytanie tego podręcznika. Ponadto jest to układ bardziej logiczny - czytelnik najpierw będzie mógł zapoznać się z danym pojęciem (np. funkcji czy zmiennej) a dopiero później zetknię się z nim w praktyce. Chciałbym usłyszeć także sugestie i opinie innych współautorów tego podręcznika. --Kj 22:41, 30 wrz 2006 (CEST)[odpowiedz]

Absolutnie się z tobą nie zgadzam. Czytelnik nie musi rozumieć danej rzeczy, żeby jej używać; możliwość wczytywania i wypisywania danych za pomocą standardowego wejścia/wyjścia jest kluczowa, należy opisać ją jak najwczesniej. Tak naprawdę rozdział "Podstawowe operacje..." zawiera opis trzech funkcji, przy dodaniu bardziej praktycznych przykładów będzie naprawdę przydatny. Nie wyobrażam sobie sytuacji, gdy czytelnik musi przebrnąć przez 7 rozdziałów by dowiedzieć się, jak coś wczytać z klawiatury.
Ale trzeba umieć to robić, a przy korzystaniu z czegoś takiego jak scanf(), czy fgets() konieczne jest znanie instrukcji sterujących, chyba, że zamierzamy uczyć jak pisać beznadziejne programy nie sprawdzające kodów zwracanych przez te funkcje. Instrukcje sterujące powinny być zdecydowanie przed wszystkim innym. -- Mina86
Nie podoba mi się też przesunięcie "Podstawowych operacji matematycznych". Moim zdaniem jest to naturalne następstwo rozdziału o zmiennych i są tam operacje absolutnie konieczne (jak inkrementacja - w twojej wersji pojawi się w rozdziale "Instrukcje sterujące" na 4 rozdziały wcześniej!). Zrobiłbym natomiast inną rzecz, której nie zauważyłeś, a mianowicie wyrzucił "Zaawansowane operacje matematyczne" i wstawił je tuż po "Więcej o kompilowaniu". Tablice i wskaźniki mają na pewno większy priorytet niż liczby zespolone (których sam np. nigdy nie użyłem w moich programach). --Derbeth talk 00:32, 1 paź 2006 (CEST)[odpowiedz]

Proponuję zamianę kolejności trzech rozdziałów na następującą:

  • Podstawowe operacje matematyczne
  • Instrukcje sterujące
  • Podstawowe procedury wejścia i wyjścia

za czym przemawiają następujące argumenty:

  • opis I/O w dużej mierze zależy od znajomości instrukcji sterujących;
  • instrukcje sterujące w pewnym stopniu zależą od operatorów oraz w bardzo małym od wywołania printf("tekst\n");, które uzytkownik już zna oraz printf("%d", zmianna);, które pozna przy okazji operatorów;
  • operatory matematyczne w zasadzie zależą jedynie od wywołania printf("%d\n", zmienna);, które raczej jest na tyle proste i oczywiste, że czytelnik to zrozumie.

Ponadto proponuję zmienic nazwę z Podstawowe operacje matematyczne na Operatory i przeniesienie opisu operatorów z Instrukcji sterujących do nowo nazwanego rozdziału, gdyż:

  • instrukcje sterujące i operatory logiczne (choć ze sobą powiązane) to różne byty i nie ma co opisywać jednych w rozdziale dotyczących tych drugich;
  • przy omawianiu operatorów logicznych && czy || warto kilka linijek wyżej mieć opis operatorów & i |;
  • czytelnicy bardziej obeznani w temacie lub np. znający inne języki i terminologię opisu operatorów logicznych będą raczej szukać w rozdziale Operatory, a nie Instrukcje sterujące;
  • nie ma co bez potrzeby rozbijać opisu operatorów na kilka różnych rozdziałów.

W Dyskusja:C/Podstawowe procedury wejścia i wyjścia pisałem, że zgadzam się na taką zmianę kolejności; byłbym też za zmianą nazewnictwa i skupieniem opisu operatorów w jednym miejscu. Z tym, że nie mam zbytnio czasu to wszystko robić. Masz zamiar sam się zabrać za te zmiany? --Derbeth talk 12:42, 13 sty 2007 (CET)[odpowiedz]

Ja mam ostatnio odrobinę czasu. Jeśli chodzi o przenoszenie i inne tego typu technikalia - mogę pomóc. --Kj 12:44, 13 sty 2007 (CET)[odpowiedz]
Chciałem jeszcze usłyszeć (przeczytać) opinię odnośnie zmiany z tymi operatorami i stąd ten wątek dyskusji. Co do czasu to właśnie miałem się wziąć za pisanie, gdy wynikła ta kwestia, a skoro problemów żadnych nie ma to już się biorę do roboty. Tylko jeszcze pódję sobie zrobić herbatę. ;) --Mina86
Wydaje mi się, że zmiana nazwy rozdziału z "Podstawowe operacje matematyczne" na "Operatory" jest całkowicie uzasadniona. --Kj 11:46, 14 sty 2007 (CET)[odpowiedz]

Nazwa podręcznika[edytuj]

To co, jak nazywamy ten podręcznik, samo C wystarczy? (zmiana nazwy nastąpi przy okazji zmiany konwencji nazewnictwa) --Piotr @ 17:13, 15 paź 2006 (CEST)[odpowiedz]

Moim zdaniem samo C w zupełności wystarcza. --Kj 20:30, 16 paź 2006 (CEST)[odpowiedz]
Można by też zrobić C, programowanie w C, Język C. samo C nie jest dość wdzięczym tytułem..."hej...a czytałeś już C? " dziwnie brzmi..
Może i dziwnie brzmi, ale ta nazwa jednoznacznie identyfikuje temat podręcznika, jest krótka, prosta i daje się łatwo zapamiętać oraz upraszcza linki [[C/Dział]]. A co do mowy mówionej - prawidłowa wersja tego tekstu powinna brzmieć: "hej, a czytałeś już podręcznik o C na Wikibooks?" ;) --Kj 09:55, 26 lis 2006 (CET)[odpowiedz]
Ja bym to nazwał "Programowanie w języku C". Tytuł powinien opisywać zawartość, a nie być jedną literą nic nie znaczącą dla laika. --Migol 02:32, 12 lut 2007 (CET)[odpowiedz]

Delphi[edytuj]

Przepraszam, że tak mącę, ale... sami wiecie. Mam już kompilator Dev-C++. Nada on się do języka C? I jeśli tak to, skąd ściągnąć Linkera i Debugera? I czy Microsoft Word bedzie dobry jako edytor tekstowy? Kalimatas 20:15, 12 Lis 2006

Dev-C++ zawiera w sobie kompilator zarówno C jak i C++, zresztą - kompilator C++ w większości przypadków poradzi sobie z kodem C, generując podobny wynik. Linker jest wbudowany w kompilatory dostepne z Dev-C, debugger prawdopodobnie też - zresztą na razie nie będzie Ci potrzebny. Microsoft Word jest najgorszym możliwym wyborem edytora tekstowego. W Dev-C++ jest wbudowany dobry edytor do kodu w języku c. Proszę jeszcze nie usuwać poprzednich wiadomości - komuś mogą się sprzydać :) Poza tym na tych stronach raczej prowadzimy tylko dyskusje edycyjną, a nie pomoc. sblive 23:09, 12 lis 2006 (CET)[odpowiedz]
Z tego co pamiętam, to Dev-C++ jest w dwóch wersjach: z kompilatorem i bez niego. Należy skorzystać z wersji "with MiniGW" czy jakoś tak --Migol 15:39, 30 mar 2007 (CEST)[odpowiedz]

Podświetlanie kodu[edytuj]

Piotr wprowadził zmianę w kodzie JavaScript MediaWiki, umożliwiającą podświetlanie składni różnych języków programowania w tym także C. Chciałbym poznać opinie współautorów tego podręcznika oraz jego użytkowników, w sprawie włączenia tej opcji w stosunku do kodów źródłowych, zawartych w tym podręczniku. --Kj 23:34, 14 lis 2006 (CET)[odpowiedz]

Ja jestem za, w końcu sam skrypt pisałem. ;) --12:30, 15 lis 2006 (CET)
ja również polecam. Sam mam zainstalowany skrypt na swojej wiki stronie. Sprawuje się świetnie... Ewentualnie bym pozmieniał kolory..np na takie bardziej standardowe jak koloruje dev-cpp, czy borland... super elegancją by było, gdyby użytkownik mógł raz w preferencji określić, jaki ze stylów podświetlania składni wybiera....ale generalnie na TAK!!Noisy 00:04, 26 lis 2006 (CET)[odpowiedz]
Ja natomiast jestem przeciw z takiego mianowicie powodu, że użycie kolorowania składni w takim kształcie wyklucza jakiekolwiek formatowanie kodu, czyli: pogrubianie fragmentów dla podkreślenia ich znaczenia oraz dodawania linków do opisu użytych funkcji. --Derbeth talk 00:13, 26 lis 2006 (CET)[odpowiedz]
Derbeth zapoznaj sie prosze z tym Pomoc:Podświetlanie_składni#Podświetlanie a własne formatowanie. Czy uważasz, że to będzie stanowić problem?Noisy 01:37, 26 lis 2006 (CET)[odpowiedz]
Może i ja się jeszcze wypowiem. Jestem zdecydowanie na nie. Kody źródłowe zamieszczone w podręczniku są bardzo proste. Ponadto jest to ksiażka do nauki programowania, więc osoba ucząca się powinna analizować kod - podświetlenie kodu byłoby tutaj dużym ułatwieniem. Podświetlanie kodu jest bardzo dobrą rzeczą, gdy piszesz program, ale nie powinno być stosowane w podręczniku. --Kj 10:07, 26 lis 2006 (CET)[odpowiedz]
A ja jestem na tak. Po co utrudniać czytanie kodu? Poza tym w większości przypadków ma się zawsze podświetlony kod. To tak, jakby kazać uczyć się jazdy samochodem z zamkniętym jednym okiem. Widać niby to samo, ale wrażenia daleko-blisko zanikają. To ma ułatwić naukę czy ją utrudnić? --Migol 02:28, 12 lut 2007 (CET)[odpowiedz]

Przykłady[edytuj]

jestem studentem politechniki wrocławskiej. Wraz z kolegami pracujemy nad stroną naszego wydziału. Umieszczamy tam (powoli, ale sie rozkręcamy) zadania z list jakie rozwiązujemy na uczelni, z których obowiązuje kolokwium. Nasza dewiza...perfekcyjnie opisana analiza zadania. Proponuje dodać cześć tych przykładów do dodatku B do ćwiczeń. Strona mojego wydziału to www.wppt.wewrocku.pl

Bardzo chętnie zamieścilibyśmy kilka przykładów z komentarzem, ale pod warunkiem, że będą to raczej zadania programistyczne niż algorytmiczne. --Kj 14:52, 26 lis 2006 (CET)[odpowiedz]
Niestety jest pewien problem - prawa autorskie. Radziłbm najpierw dowiedzieć się, czy autorzy tychże zadań z nich rezygnują.--Migol 02:29, 12 lut 2007 (CET)[odpowiedz]
Ani oni nie muszą z niczego rezygnować ani my nie musimy ich się o nic pytać. Treść tamtej wiki jest na licencji GFDL, możemy brać co chcemy podając źródło i autorów. GFDL wcale nie oznacza rezygnacji z praw autorskich, autor zachowuje ich pełnię. --Derbeth talk 13:29, 12 lut 2007 (CET)[odpowiedz]
Oczywiście, tylko że z tego co pamiętam zachowuje też prawo do nałożenia opłat itp. To tak jak z amerykańską zasadą "fair-use". Oni mogą używać okładek książek na Wiki, my nie. --Migol 01:10, 30 mar 2007 (CEST)[odpowiedz]
Nie rozumiesz licencji GFDL. Przeczytaj sobie GFDL na Wikipedii. Tak jak każdy może legalnie wziąć i sprzedawać ten podręcznik bez naszej wiedzy i zgody oraz bez płacenia nam choćby grosza, tak my możemy wziać co chcemy od innego dzieła na GFDL, o ile podamy autorstwo wykorzystanych fragmentów. Taki jest sens wszystkich licencji GNU. --Derbeth talk 01:24, 30 mar 2007 (CEST)[odpowiedz]
Tutaj masz rację, jednak jest jeszcze jeden problem z tą licencją: "Licencja GNU FDL wymaga, że przy drukowaniu dokumentu objętego jej działaniem należy również dołączyć pełny tekst licencji, informacje o prawach autorskich (należy wymienić wszystkich autorów tekstu i dzieł, które się wykorzystywało) oraz jasną deklarację, że dany dokument jest udostępniony na licencji GNU FDL. Oznacza to zwiększenie rozmiaru drukowanego dokumentu." Pytanie więc czy warto obciążyć takim obowiązkiem ten podręcznik. --Migol 14:31, 30 mar 2007 (CEST)[odpowiedz]
Ilu autorów może mieć taka strona? 3? 5? Nie widzę problemu. --Derbeth talk 16:42, 30 mar 2007 (CEST)[odpowiedz]
czy można zrobić stronę: algorytmy w C ? --Adam majewski 10:16, 19 lut 2008 (CET)[odpowiedz]
Raczej można - oczywiście opisując w kolejności dobranej pod względem trudności itp. Strona podsumowująca znajomości programowania w C na pewno by się przydała, o ile oprócz opisanych tutaj programów będzie opisywała również dodatkowe pozycje, wykraczające poza opisane w książce. Prolbematyką będzie co prawda optymalność, ale myślę że powinieneś dać sobie z tym radę. MonteChristof DMC 12:24, 19 lut 2008 (CET)[odpowiedz]

Ciwczenia w rozdziałach, a nie jako osbny byt?[edytuj]

Może zamiast wrzucać ćwiczenia do osobnego rozdziału lepiej wrzucać je wewnątrz rozdziałów? W ten sposób czytelnik na bierząco sprawdzałby swoje zrozumienie przeczytanego rozdziału. W obecnej sytuacji najpierw czyta dużo dużo teorii, która z definicji jest nudna, by potem zostać zasypanym masą ćwiczeń. Wyobrażam to sobie w ten sposób, że byłby zrobiony jakiś ziomalski szablon z jakąś ziomalską ikonką i nagłówkiem "Ćwiczenie". Zastanawia mnie jedynie czy takie coś mogłoby być automatycznie numerowane, ale to już szczegół. --Mina86

Akurat co do ziomalskich szablonów to bym się wstrzymał, bo podręcznik C ma raczej "nieziomalski" styl. Myślę, że wystarczyłaby zwykła sekcja, bez kolorów i wodotrysków. Ale ogólnie umieszczanie ćwiczeń w rozdziałach, żeby czytelnik kontrolował się na bierząco, jest chyba lepszym rozwiązaniem. Bo gdyby nie wiedział, jak coś zrobić, to wie mniej więcej, co powinien przeczytać ponownie, a nie zostaje z połową książki do przejrzenia. --Derbeth talk 16:30, 7 sty 2007 (CET)[odpowiedz]
Ziomalski szablon w sensie coś w stylu "infobox", "Uwaga" i takich tam różnych bajerkow. --Mina86
Dałoby radę zmontować coś. Chociaż przydałoby się opracować jakiś system zadania - przykładowa odpowiedź z maks. komentarzami i ew. dodatkowym wytłumaczeniem.--Migol 02:31, 12 lut 2007 (CET)[odpowiedz]
Poszedłbym o krok dalej i oprócz "bieżących" ćwiczeń w każdym rozdziale pozostawiłbym ćwiczenia kończące dany dział podręcznika. Czytelnik mógłby przez cały czas kontrolować nabywane umiejętności a przy okazji mógłby także przetestować swoją wiedzę po przeczytaniu całego działu podręcznika. --Kj 16:01, 15 lut 2007 (CET)[odpowiedz]

Tablice i wskaźniki i napisy są za daleko?[edytuj]

Tak się zastanawiam, czy przypadkiem rozdział o tablicach, wskaźnikach i napisach nie jest za daleko. Tak sobie myślę, że chyba powinny one być przed rozdziałem o czytaniu i pisaniu do plikow. W końcu jak już operujemy na plikach to tam ciągle będziemy korzystać z tablic znaków i chyba wypadałoby to najpierw dokładnie opisać. -- mina86 (talk) 22:28, 15 lut 2007 (CET)[odpowiedz]

Wg mnie z pliku równie dobrze można czytać liczby. Napisy są w C rzeczą bardzo złośliwą i wymagają długiego i chyba dość męczącego wprowadzenia. --Derbeth talk 22:36, 15 lut 2007 (CET)[odpowiedz]
Tyle, że wg mnie bez napisów to C to jakaś popierdułka za przeproszeniem. Niby można czytać liczby (choć i tutaj przy korzystaniu ze fscanf() odwołujemy się do wskaźników), ale w ten sposób zamiast opisywać operacje na plikach opisujemy działanie kilku wcale nie najistotniejszych dla zagadanienia funkcji. A potem jak już Czytelnik pozna napisy to co? wracać i jeszcze raz opisywać operacje na plikach? -- mina86 (talk) 22:51, 15 lut 2007 (CET)[odpowiedz]
Ja tam popieram to, rzeczywiście tematyka plików jest trochę bardziej zaawansowana aniżeli tablic i wskaźników, pomimo iż te drugie są trudniejsze dla wielu osób. --Migol 14:37, 30 mar 2007 (CEST)[odpowiedz]

Opisy opcji różnych kompilatorów jako dodatek[edytuj]

Co powiedzielibyście na stworzenie osobnych rozdziałów (w dziale "Dodatek B") poświęconych opcjom różnych popularnych kompilatorów? Mogłaby to być ciekawa ściąga dla osób, które nie mogą na swoim komputerze korzystać z manuala lub nie mają dostępu do dokumentacji. Przy okazji można by tam omówić działanie poszczególnych opcji i ich wpływ na działanie programu. Oprócz tego byłaby ciekawa lekcja nt. różnic między różnymi kompilatorami. Oczywiście jest to tylko mój skromny pomysł - czekam na Wasze uwagi i opinie. --Kj 12:18, 17 lut 2007 (CET)[odpowiedz]

Jak dla mnie pomysł całkiem dobry i warty realizacji. Problemem mogą być kwestie:
  • Jakie kompilatory wyszczególnimy?
  • Czy dla każdego kompilatora wykorzystamy pełen zbiór opcji, czy tylko najważniejsze?
  • Jeśli tylko najważniejsze, to jakim kryterium będziemy się kierować?
  • W jakiej formie zostanie to przedstawione: opis każdego osobno czy zestawienie podobieństw i różnic?
--Migol 14:34, 30 mar 2007 (CEST)[odpowiedz]
Ad.1 Akurat ta pozycja zależy od tego, do jakich kompilatorów mamy dostęp.
Ad.2 Na pewno nie pełen, ale nie ograniczałbym się tylko do tych "koniecznych".
Ad.3 Zasadniczo najważniejszym kryterium powinna być użyteczność opcji. Np. nie ma sensu opisywać opcji, które zmieniają dajmy na to sposób komunikowania błędów, ale warto opisać opcje, które np. zmieniają standard, którego trzyma się kompilator.
Ad.4 Moja wizja wygląda tak: robimy jeden rozdział w dodatku "B" i w nim zamieszczamy w postaci podrozdziałów (== GCC == .... == Visual C == ... itd.) opisy poszczególnych kompilatorów. W osobnym podrozdziale mogłaby się pojawić tabelka, w której zestawione by zostały ze sobą różne opcje kompilatorów powodujące te same działania.
Oprócz tego cały rozdział mógłby także służyć także porównaniu różnych kompilatorów. Dzięki temu, oprócz spisu opcji czytelnik miałby przegląd kompilatorów, przez co mógłby wybrać najodpowiedniejszy dla siebie. --Kj 16:18, 30 mar 2007 (CEST)[odpowiedz]
Ad. Ad. 3 No właśnie komunikowanie błędów jest też ważne, przynajmniej dla mnie. Tak więc potrzeba jakiegoś przejrzystego kryterium. Moim zdaniem np. dla GCC podstawowo trzeba by ująć "krótkie opcje", uznane za najważniejsze przez twórców. --Migol 18:32, 30 mar 2007 (CEST)[odpowiedz]

Korekta[edytuj]

Zrobiłem korektę wszystkich działów i usunąłem sporą liczbę literówek. Dajcie znać, czy potrzebujecie pomocy w korekcie i kwestiach merytorycznych.

T ziel 19:26, 8 mar 2007 (CET)[odpowiedz]

W obu kwestiach zawsze jest przydatna pomoc. Sam bym chętnie podopisywał bym różne rzeczy (np. miałem zrobić te nieszczęsne operacje na plikach), ale niestety zaczął się semestr laborek i trochę mam roboty na uczelni. Tak czy owak, proszę ja Cię bardzo - każdą pomoc przyjmiemy z wielką radością. -- mina86 (talk)

Statusy rozdziałów[edytuj]

Przydałoby się zaktualizować statusy rozdziałów. Praktycznie wszystkie są na 75%, a nie ma nic w TODO ani w dyskusji na temat tego czego brakuje.--Migol 15:41, 30 mar 2007 (CEST)[odpowiedz]

75% realizacji oznacza mniej więcej, że w danym rozdziale nie brakuje już raczej treści merytorycznych, ale trzeba skupić się na ewentualnych poprawkach językowych czy też graficznych. Taki postęp prac oznacza także, że autorzy powinni teraz dokładnie przeczytać napisany podręcznik w celu wyszukania potencjalnych błędów. Dlatego też musi upłynąć trochę czasu, zanim dany rozdział otrzyma 100%. --Kj 16:21, 30 mar 2007 (CEST)[odpowiedz]
Wiesz, np. "Pierwszy program" ma ten status od 2005 roku. Już chyba dość przeglądania, prawda? --Migol 18:29, 30 mar 2007 (CEST)[odpowiedz]

Zwracanie przez funkcje wskaźników[edytuj]

Przydałoby się dodać do podręcznika opis na ten temat

Poszukiwana pomoc[edytuj]

Cześć. Widzę, że jesteście na ukończeniu podręcznika. Czy znalazłby się ktoś chętny do pomocy przy podręczniku D? D jest językiem bardzo podobnym do C i C++. Tyle, że w wielu miejscach prostszym. Podręcznik który zacząłem pisać ma być kompletnym opisem języka. W tej chwili tkwie w części 2 (dla początkujących) uściślając wszystko oraz wprowadzając do programowania. Ponieważ jest to najnudniejsza część (ale i prosta) to przydałby się ktoś do pomocy. A ja mógłbym się skupić na niuansach w części zaawansowanej.

Jeśli ktoś chce się nauczyć tego języka to tym bardziej jest to dobre ćwiczenie. Na początek można się zapoznać z D/IntroC , który jest przygotowany właśnie dla was, już znających język C. Wersja dla C++ (czyli programowanie obiektowe i szablony w skrócie), w przygotowaniu. --83.19.20.122 16:59, 19 lip 2007 (CEST)[odpowiedz]

Strdup/Memdup[edytuj]

Będzie mi potrzebne opisanie tych funkcji na potrzeby Flexa/Bisona i jak to dodać i w jakiej formie? Chciałem dodać strone strdup i memdup gdzieś w c z opisem skrótowym oraz po module dla każdej. Mogę również inne str/mem owe osadzać. Tylko muszę wiedzieć co/gdzie/jak ?? --SQLek 17:46, 28 lut 2009 (CET)[odpowiedz]

Pokolorowano kod[edytuj]

Pokolorowałem kod (znaczniki <source lang="c">...</source>). DaniXTeam 09:50, 23 cze 2009 (CEST)[odpowiedz]

Nowe działy[edytuj]

Witam. Chciałbym utworzyć nowe działy :

  • programowanie grafiki w C ( teraz nie ma )
  • Cg ( było trochę w dziale o łączeniu z innymi językami, ale zostało usunięte).

Co o tym sądzicie ? Pozdrawiam --Adam majewski (dyskusja) 16:08, 23 wrz 2010 (CEST)[odpowiedz]

Czemu nie. Np. możesz to utworzyć jako "dodatek" do podręcznika, bo z samym językiem to się raczej nie łączy, a może w przyszłości jako osobny podr. --Lethern (dyskusja) 13:28, 25 wrz 2010 (CEST)[odpowiedz]

Nowy PDF[edytuj]

Wrzuciłem właśnie nowy PDF z aktualną zawartością podręcznika. Zawiera on poza tym kilka znaczących zmian:

  1. ładniejsza czcionka dla tekstu i fragmentów kodu; jest trochę mniejsza niż w poprzedniej wersji, ale chyba bardziej czytelna (jeśli ktoś uważa, że jest za mała i utrudnia czytanie, mogę ją zwiększyć)
  2. dla lepszego wyglądu zastosowałem (nie wszędzie) kapitaliki i cyfry nautyczne
  3. do wygenerowania PDF-a został użyty program XeTeX zamiast LaTeXa - co daje nowe możliwości jeśli chodzi o dobór czcionek, ale może spowodować ewentualne błędy
  4. aktualne logo Wikibooks na okładce
  5. usunąłem tekst licencji GFDL, ponieważ przeszliśmy na licencję Creative Commons
  6. ponieważ rozdział "Dalsze wykorzystanie" de facto przedstawiał w przystępnej formie warunku licencji GFDL a pod Wikibooks:Prawa autorskie nie znalazłem niczego naprawdę zaktualizowanego do aktualnego stanu, usunąłem całkowicie ten rozdział - podobno nowa licencja jest bardziej zrozumiała, niech użytkownicy planujący dalsze wykorzystanie tego tekstu informują się sami
  7. skróciłem tekst na stronie 2 informujący o prawach autorskich

Poprawiłem zgłoszone do tej pory błędy dotyczące pliku PDF i kilka, które wypatrzyłem teraz sam.

Jeśli macie ochotę, zajrzyjcie do pliku - może przegapiłem jakieś błędy. --Derbeth talk 01:55, 14 lis 2010 (CET)[odpowiedz]

"Zobacz też"[edytuj]

(przeniosłem ze strony głównej)
Nie jest to związane w żaden sposób z nauką C, ale jako ciekawostki są dobre - tylko za mało materiału na utworzenie modułu "ciekawostki":

--Lethern (dyskusja) 19:56, 20 lut 2012 (CET)[odpowiedz]

Możesz tu zobaczyć działający kod. Dla mnie to jest zachęta do nauki, ale może się mylę. (:-)) Adam

Literówka str. 37[edytuj]

Na stronie 37 jest literówka. Pisze "prawdaąlbo" a powinno być "prawda albo"