← Natrag

Prevođenje C programa

Faze

Libs

Djele se kao već kompajlirane datoteke koje se priključuju našim programima s Linkerom.

GCC

Preprocesor:

$ gcc -E main.c > main.i

Asember:

$ gcc -S main.c

Bytecode:

$ gcc -c main.c

Struktura C programa

Funkcije

Imenovani blokovi, ulazna točka programa.

#include <stdio.h>

int main() {
  return 0;
}

Ključne riječi C-a

C11 ima 44 ključne riječi.

Komentari

// Komentar
/*
 * Blok Komentara
 */

Varijable

Sintaksa Tip Varijable
int cijelobrojna varijabla
float varijabla za realne brojeve
_Bool istina ili laž

Varijabla se može deklarirati s ključnom riječju const i tada se njen sadržaj neće moći mijenjati.

Imenovati varijable tako da se njena funkcija može naslutiti iz imena.

Izrazi

256                   // Aritmetički izraz
a                     // Aritmetički izraz
a + 11                // Aritmetički izraz
(a + 1) * (b - 1)     // Aritmetički izraz
a = 2                 // Izraz za dodjeljivanje
b = a + 3             // Izraz za dodjeljivanje s aritmetičkim izrazom
a <= 10               // Relacijski izraz
(a <= 10) && (a >= 3) // Dva relacijska izraza unutar logičkog izraza

Pridruživanje

Primjer:

  int k;    // Deklariranje
  k = 5;    // Inicijalizacija
  k = k + 1 // Korištenje

L-value -> locator value

R-value -> read value (value of expression)

Vrijednost pridruživanja je rezultat pridruživanja.

a = b = c = 3 + 1;
// Sve 3 varijable su 4

// Ispiše se 14
printf("%d", a = 14);

Djelovanje operatora na cijelobrojne operande

int a = 11, b = 3;

a + b == 14
a - b == 8
a * b == 33
a / b == 3
a % b == 2

Algoritam zamjene varijabli

int a = 4, b = 14
int temp;

temp = a;
a = b;
b = temp;