To zależy od kompilatora (czy jest natywny dla danego procesora czy nie). Typy zmiennych można sobie "definiować" samemu w pewnym sensie, czyli zakładać nazwy alternatywne dla podstawowych typów zmiennych , ale też nieco bardziej skomplikowane konstrukcje. Czasem ma to za zadanie po prostu uwidocznienie danej definicji zmiennej że jest do jakiegoś konkretnego celu, a czasem potrafi to uprościć życie. Instrukcja w C/C++ do tego to "typedef".
Przykład prosty to:
Zdefiniowaliśmy alias dla zmiennej int, który się nazywa "points". Potem można robić:
To takie zastosowanie estetyczne.
Ale można też robić bardziej trudne aliasy, do wskaźników, struktur itp.
Trzeba by poszukać w bibliotekach które Twój kod załącza (jawnie, albo nie jawnie) bo gdzieś w nich jest prawdopodobnie napisane
albo coś nieco bardziej skomplikowanego 
Natomiast jeśli to jest natywny kompilator, to można tego nie znaleźć, i ten typ zmiennej może być bardziej "sprytny", na przykład mieć gdzieś ograniczenie że jest np "read only" czy coś w tym stylu.
Edit: Znalazłem (chyba to to): biblioteka core_cm3.h
Tam stoi coś takiego:
Przykład prosty to:
Kod:
typedef int points ;Kod:
points punkty;Ale można też robić bardziej trudne aliasy, do wskaźników, struktur itp.
Trzeba by poszukać w bibliotekach które Twój kod załącza (jawnie, albo nie jawnie) bo gdzieś w nich jest prawdopodobnie napisane
Kod:
typedef long long _IO
Natomiast jeśli to jest natywny kompilator, to można tego nie znaleźć, i ten typ zmiennej może być bardziej "sprytny", na przykład mieć gdzieś ograniczenie że jest np "read only" czy coś w tym stylu.
Edit: Znalazłem (chyba to to): biblioteka core_cm3.h
Tam stoi coś takiego:
Kod:
#ifdef __cplusplus
#define __I volatile /*!< Defines 'read only' permissions */
#else
#define __I volatile const /*!< Defines 'read only' permissions */
#endif
#define __O volatile /*!< Defines 'write only' permissions */
#define __IO volatile /*!< Defines 'read / write' permissions */
/*@} end of group Cortex_M3 */
