Slides

Práce s poli

int array[10];
array[100] = 1;

Proměnná délka

int arraySize = 20;
scanf("%d", &arraySize);
int arrayLocal[arraySize];
arrayLocal[10] = 9;

Ukazatelová aritmetika

Typické problémy

Vícerozměné pole

Reprezentace vízerozměrného pole jako 1D

Nepravoúhlé pole

Typový systém

Zajišťuje

Konverze typů

automatická konverze

  1. Vyhodnocování výrazu
int value = 9.5;
  1. Předání argumentů funkci
void foo(cloat param);
foo(5);
  1. Návratové hodnotě funkce
double foo() { return 5; }

Zarovnání v paměti

Způsob provedení konverze

float fArray[10];
char *cArray = (char *)fArray;

Přetypování ukazatelů

void *

void *memset( void *ptr, int value, size_t num );
int array[100];
memset( arary, 0, sizeof(array) );

Vhodnost použití přetypování