Programování uC Microchip v C

Ono to má veľký zmysel.

Prekladaču sa povie, ako má tú premennú uložiť do pamäte (koľko bajtov má na ňu vyhradiť) a akým mechanizmom ju má ďalej používať.
Lebo hodnotu 1 by mohol uložiť (zdanlivo logicky) do jedného bajtu. Avšak jazyk C môže vo všeobecnosti preložiť program vrátane konštánt, ktorý je celý pri jeho behu uložený v RAM. A to je najčastejší prípad.
A tam už môže hrať zarovnanie napríklad na 4B veľký význam. Alebo pri samomodifikujúcich sa programoch (čo som sa ich voľakedy napísal pre Z80 :slight_smile: ) si môžem chcieť do miesta, kde je po preklade uložená nejaká konštanta (napríklad tá jednička) zapísať inú konštatnu, napríklad -4572198. Ako by mal prekladač bez použitia suffixu vedieť, ako má nakladať s hodnotou uloženou na danom mieste v pamäti a hlavne odkiaľ by mal vedieť, aká je tá konštatna bajtovo dlhá?

Takže zmysel suffixov pri konštatnách rozhodne je. Otázne je, či má dané nastavenie zmysel v Tvojom konkrétnom prípade. To už ale neskúmam :slight_smile: