C

Z CHWiki

Přejít na: navigace, hledání


Obsah

[editovat] Historie

Tento přes 30 let starý jazyk byl vyvinut Kenem Thompsonem a Dennisem Ritchiem pro operační systém UNIX.

[editovat] Druh jazyka

Překládaný, nízkoúrovňový jazyk se statickými typy.

[editovat] Použití

Nejčastěji se používá pro vývoj systémového software (operační systémy, ovladače apod.), i když některé aplikace jsou v něm napsány také.

[editovat] Programy v něm napsané

Linux, asi i Windows, Doom, Quake 1,2,3, asi i Doom 3.

[editovat] Přenositelnost

Překladače jazyka C existují snad pro všechny platformy. Pokud program napíšete šikovně, dá se přeložit na více platformách (musíte samozřejmě používat knihovny, které se na dané platformě vyskytují). Dále je třeba hlídat způsob reprezentace čísel v paměti (big nebo little endian), velikost intu apod.

[editovat] Co nabízí

Jazyk C nemá mnoho vlastností, které usnadňují programátorovi práci. V podstatě se skládá jen z funkcí a dat. Vedle toho má ještě preprocesor.

[editovat] Knihovny

C Runtime Library (crt) - pro práci s pamětí, se soubory apod. Dále pro jazyk C existuje obrovské množství různých knihoven, mimo jiné i OpenGL a DirectX

[editovat] Příklady

Hello world, obohacený o práci s pamětí.

#include <stdio.h>
#include <stdlib.h>

int main() {
 char **nums = (char**) malloc(10 * sizeof(char*));
 int i,j;
 for (i = 0; i < 10; i++) {
  nums[i] = (char*) malloc(5 * sizeof(char));
  for (j = 0; j < 5; j++) {
   nums[i][j] = i * j;
  }
 }
 printf("Hello World %d", nums[3][4]);
 for (i = 0; i < 10; i++) {
  free(nums[i]);
 }
 free(nums);
 return 0;
}