Jste zde

C

Programovací jazyk C

Syntaktické srandy v C a C++: typedef nemusí být vždy na začátku řádku

Dneska se v krátkosti podíváme na jednu srandu z C a C++, konkrétně na to, že pozice jistých specifikátorů (např. typedef) nehraje roli.

Méně známé skutečnosti o C a C++: Syntaxe ukazatelů na funkce

O existenci ukazatelů na funkce většina programátorů v C a C++ ví, i když je třeba příliš nepoužívá. V následujícím příspěvku bych chtěl upozornit na některá syntaktická pozlátka, která lze při práci s ukazateli na funkce použít.

Zajímavé úlohy pro programátory v C a C++ #13

Shodou okolností jsem se dostal k zajímavému námětu na otázku, a tak toho hned využívám. Tentokrát bude úkolem vysvětlit chování programu. Zdroj otázky i původce řešení zveřejním až s uveřejněním řešení.

Méně známé skutečnosti o jazyce C: Dva různé typy for cyklů

Když se zeptáte programátora v jazyce C na for cyklus, tak vám odvětí, že se skládá z hlavičky, která je tvořena třemi výrazy oddělenými středníky, kde do první se dává deklarace proměnných, do druhé podmínka ukončení cyklu, a do poslední akce provedená po každé iteraci. Každá z těchto částí je nepovinná. A pak následuje tělo cyklu. Co je ale zajímavé, tak je to, že to není tak úplně pravda a volitelnost částí záleží na typu for cyklu, který se použije.

warning: comparison between signed and unsigned integer expressions

Pokud ve svém C či C++ programu porovnáváte znaménková a bezznaménková čísla, používáte překladač GCC a máte zaplá varování, tak jste se již určitě setkali s varováním warning: comparison between signed and unsigned integer expressions. Toto varování bývá velmi často přehlíženo, a to mnohdy z toho důvodu, že dotyčnému není jasné, kde by mohl vzniknout problém. Cílem tohoto krátkého příspěvku je na tento problém poukázat.

Zajímavé úlohy pro programátory v C a C++ #12

Tentokrát budeme doplňovat program, který nevypadá jako Céčkový ani C++ový, tak, že bude přeložitelný překladačem C či C++ a bude dělat to samé, co původní program.

Méně známé skutečnosti o C a C++: Ukazatel není číslo

Pravidelně se setkávám s mylným názorem, že "ukazatel je číslo". V tomto příspěvku bych chtěl (1) poukázat na to, že tvrdit, že "ukazatel je číslo", je to stejné, jako tvrdit, že "Bozetechova 2, 612 66 Brno, Czech Republic" je číslo a (2) že ukazatele a čísla nelze jen tak mezi sebou převádět.

Zajímavé úlohy pro programátory v C a C++ #11

Tentokrát bude úloha/hádanka buď značně triviální, nebo obtížná, a to v závislosti na tom, zda prokouknete trik, který bude třeba využít ;).

Méně známé skutečnosti o C a C++: Sekvenční body

Následující příspěvek je nejen pro ty, kterým kód a[i] = i++; připadá v pořádku, či kteří si myslí, že rozdíl mezi ++i a i++ je v tom, že ten druhý způsobí zvýšení hodnoty i až po dokončení zpracování výrazu, kde se vyskytuje ;).

Zajímavé úlohy pro programátory v C a C++ #10

Po delší době přináším další hádanku z oblasti programovacích jazyků C a C++. Tentokrát budeme řešit triviální věc nekonvenčním způsobem. Nic složitého to ale nebude a tak postačí dostatek důvtipu :).

Stránky

Přihlásit se k odběru RSS - C