Dyskusja:C (język programowania)
Ocena jakości
[edytuj kod]- Dostateczny/wysokie - jeden z podstawowych języków programowania, lecz artykuł choć obszerny, zawiera ekstremalnie mało źródeł i należałoby zweryfikować czy ta obszerność faktycznie pokrywa się z rzeczywistością. --Zyx (dyskusja) 12:11, 15 wrz 2010 (CEST)
Wikibooks
[edytuj kod]Na Wikibooks przeprowadzamy właśnie przeniesienie częsci rozdziałów podręcznika C++ do podręcznika C. Wszelka pomoc będzie mile widziana. Więcej: b:Programowanie:C. --Derbeth 20:57, 8 listopad 2005 (CET)
- Z przykrością muszę stwierdzić, iż po prowadzonych zmianach obecne podręczniki na wikibooks staną się jeszcze gorsze. Obecnie są w miarę dobre i wymagają jedynie rozwoju.
- Moim zdaniem wymuszanie nauki C jako koniecznej przed nauką C++ jest poważnym błędem dydaktycznym. Proszę przeczytać "Learning Standard C++ as a New Language" Bjarne Stroustrup wyd. AT&T Labs. Łączenie tych dwóch języków wprowadza więcej zamętu niż ładu. Są to dzisiaj dwa różne języki.
- Pozdrawiam Webprog 22:54, 23 paź 2007 (CEST)
Postać hasła
[edytuj kod]Czy nie jest trochę bezsensowne wymienianie poszczególnych instrukcji (pętli, ifów etc.) w artykule nt. C? Przecież to jest materiał do Wikibooks, a w samym haśle lepiej byłoby chyba napisać np. o historii, zastosowaniach czy nawet ciekawostkach.
- 20:13, 23 paź 2007 (CEST)
wielkosc zmiennej wypu bool
[edytuj kod]Witam! Czy przypadkiem zmienna typu bool nie ma wielkości 1 bit, a nie jeden bajt?
- adresowanie jest bajtowe, zmienna o wielkości 1 bit i tak musi być dopełniona do bajta VindicatoR ۞ 11:23, 10 lis 2007 (CET)
- Ja bym określił to dokładniej: zmienna typu bool w pamięci komputera zajmuje najmniejszą możliwą do zaadresowania część pamięci. W najpowszechniejszych architekturach jest to jeden bajt. Nie pamiętam jak to jest w wyspecjalizowanych systemach. NullPointerException (dyskusja) 15:44, 2 sie 2014 (CEST)
niedostępne właściwości
[edytuj kod]Witam. W ang wersji strony jest :
push(&stack,val);
a w polskiej :
push(stack,val);
Jak powinno być ? --Adam majewski (dyskusja) 20:32, 13 kwi 2008 (CEST)
- Tak jak w polskiej. Przekazujemy wskaźnik do obiektu, a nie wskaźnik do wskaźnika. Olaf @ 23:56, 13 kwi 2008 (CEST)
Proponuję usunięcie fragmentu "Podstawowe elementy języka C"
[edytuj kod]...z racji jego nieencyklopedyczności. Encyklopedie (w tym Wikipedia), jak wynika z samej nazwy, są encyklopediami, nie podręcznikami. A ten fragment pasuje do podręcznika, jest "podręcznikowy"· Przykład programu należałoby zostawić, imho jest encyklopedyczny, bo pokazuje, jak wygląda składnie języka, ale komentarze do niego należałoby wywalić. Dla kogoś, kto nie zna C nie są one raczej przydatne, a dla osoby znającej ten język są niepotrzebne. 83.21.149.55 (dyskusja) 22:30, 10 sie 2008 (CEST)
Propozycja włączenia do "C (język programowania)" treści artykułu "Funkcje ANSI C"
[edytuj kod]Proponuję włączenie do artykułu "C (język programowania)" treści artykułu "Funkcje ANSI C". Po przeniesieniu stamtąd listy funkcji języka C do Wikibooks istnienie tamtego artykułu straciło sens.
xywek RSVP 09:52, 24 paź 2008 (CEST)
Standardy
[edytuj kod]W standardach jest napisane "Standard C99 nie jest kompatybilny z C++." Nie ma to żadnego znaczenia, ponieważ są to dwa różne języki. C++ jest językiem obiektowym i nigdy nie będzie kompatybilny z C.
- Informacja taka jak najbardziej ma znaczenie (chociaż wypadałoby ją uzupełnić o szczegóły, czyli co konkretnie powoduje brak kompatybilności). Nie są to z pewnością dwa różne języki, bo C++ to rozbudowana wersja C. Każdy sensowny kompilator C++ zaakceptuje ci kod w C, chociaż oczywiście nie każdy kod w C++ jest równocześnie poprawnym kodem C. PG (atak osobisty) 10:19, 6 maj 2009 (CEST)
- Więc można dodać szczegóły objaśniające dlaczego języki nie są kompatybilne.
- Dlaczego więc C++ jest opisany jako język programowania a nie rozszerzenie języka C?. Skoro to nie jest oddzielny twór, to trzeba tak napisać w artykule. Jak na razie w artykule o C++ traktuje się jak np. PHP albo Perl, których składnia bazuje na innych językach.NullPointerException (dyskusja)
"Standard C99 nie jest kompatybilny z C++, głównym powodem jest fakt, iż język C w swoim zamyśle nie jest językiem obiektowym tak jak C++. Jednakże większość kompilatorów C++ jest w stanie skompilować kod napisany w języku C".
- To nic nie wyjaśnia, tylko wprowadza jeszcze większy zamęt. Potrzebna jest lista (niekoniecznie kompletna) konkretnych elementów języka, które nie są kompatybilne. Chyba nie muszę dodawać, że powinna być oparta na kompetentnym źródle, a nie własnych doświadczeniach. PG (atak osobisty) 18:13, 6 maj 2009 (CEST)
- Dopisywanie elementów porównawczych chyba nie należy do tego artykułu (konstruktory, destruktory, dziedziczenie itp.). To jest artykuł o C.
- Cały czas próbuję ci uświadomić, że nie chodzi o żadne konstruktory, dziedziczenie i inne rzeczy związane z OOP, tylko o kompatybilność wsteczną C++ z C, czyli że nie da się wziąć programu napisanego w C99 i użyć z kompilatorem C++. Brak obiektowości w C jest chyba oczywisty i nie ma potrzeby wyjaśniania tych różnic. PG (atak osobisty) 19:48, 7 maj 2009 (CEST)
Operatory
[edytuj kod]Proponuję dodanie priorytetów operatorów:
() [] -> . left to right
! ~ ++ -- + - * & (type) sizeof right to left
- / % left to right
+ - left to right
<< >> left to right
< <= > >= left to right
== != left to right
& left to right
^ left to right
| left to right
&& left to right
|| left to right
?: left to right
= += -= *= /= %= &= ^= |= <<= >>= right to left
, left to right
Wskaźniki
[edytuj kod]Powinno być więcej optymizmu w rozdziale 'wskaźniki'. Przedstawione są one jak główne zagrożenie i nieszczęście języka C, gdy w rzeczywistości jest to potęga tego języka - bez wskaźników w C niewiele da się zrobić. --Voslak (dyskusja) 11:03, 13 maj 2009 (CEST)
Co to jakiś dysortografik pisał ten artykuł
OpenGL
[edytuj kod]OpenGL jest podstawową biblioteką graficzną napisaną w języku C, więc nie rozumiem skąd jest jest punku : Brak standardowych bibliotek graficznych i innych. Nie ma też nigdzie wspomniane że jest używana ta biblioteka. Racją jest że ta biblioteka używana jest głównie w języku C++ jednak nie ma żadnych przeciwskazań do używania jego w czystym C.
- Jest tu drobny niuans: artykuł traktuje o standardzie (nie o samym języku) C a w nim o bibliotekach graficznych nie ma mowy. Z resztą ja przyczepiłem się do spisu braków w C, bo tak naprawdę można wymieniać wiele rzeczy. NullPointerException (dyskusja) 09:13, 3 lip 2014 (CEST)
Porównanie z innymi językami
[edytuj kod]Razi mnie dział: niedostępne właściwości. Trochę to brzmi jak wyżywanie się na języku, bo w artykułach o innych językach często nie ma takich sekcji. Poza tym C/C++ to standard, więc powinien być omawiany trochę inaczej, niż np. Java. Każdy język ma coś, czego nie mają inne. Jeśli powstanie nowy język ze specyficznymi elementami, trzeba będzie dodać wpis, że C tego nie ma? Sekcja może być, ale zrobiłbym to na zasadzie porównania; proponuję przenieść do nowego artykułu i zrobić to formie tabelarycznej w stylu: właściwość i które języki ją posiadają. NullPointerException (dyskusja) 11:06, 30 cze 2014 (CEST)
strcpy
[edytuj kod]Dlaczego zmienna „s” jest tutaj przechowywana w „aux”?
void strcpy(char *s, char *t)
{
char aux;
do {
*s = *t;
aux = *s;
s++;
t++;
} while (aux != '\0');
}
Czy nie jest lepiej bez „aux”?:
void strcpy(char *s, char *t)
{
do {
*s = *t;
s++;
t++;
} while (*s != '\0');
}