PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 'typeof' Vorbild



Arexx-Henk
12.05.2006, 10:30
Hallo,

wer kann mich ein einfaches Program Vorbild schicken oder anweisen worin 'typeof' einfach erklart wird mit ein paar Beispiele?

Ins Internet finde ich immer dassselbe fur mich unverstandliche Artikel.

Gruss

Henk

VictimOfMyOwn
18.05.2006, 23:51
hi ho...

vielleicht hilft dir das hier weiter -> selbstdefinierte datentypen (http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Ganzzahlige_.28Integer.29_Datentypen)

mfg

NACHTRAG:

sorry, du hattest ja von typeof gesprochen...seh ich jetzt erst...aber vielleich hilft dir das tutorial ja trotzdem.

SprinterSB
21.05.2006, 10:49
typeof ist eine GNU-C Erweiterung.
Es liefert den Typ einer Variablen:

int a;
// Definiere b als Objekt vom gleichen Typ wie a
typeof (a) b;

An der Stelle könnte man natürlich auch "int" anstatt "typeof(a)" direkt hinschreiben. Aber man kennt den Typ nicht immer.

Nehmen wir mal an, du willst ein Makro SWAP schreiben, das 2 Variablen tauscht:

#define SWAP(a,b) \
do { \
typeof (a) __dummy = a; \
a = b; \
b = __dummy; \
} while(0)

Dann kannst du SWAP für alle Typen verwenden: int, unsigned int, float, char*, foo_t, was auch immer.

typeof kannst du auch verwenden zum Casten oder in sizeof:

typeof (foo) * pfoo = (typeof (foo) *) & foo;
Allerdings ist sizeof (typeof (x)) gleichbedeutend mit sizeof (x)