PREDEFINIOWANE MAKRA 93 { int i=1; char a=5; wypisz(i); wypisz(a); return 0; } Program wypisze: i=1 a=5 Czyli wypisz(a) jest rozwijane w printf("%s=%i\n", "a", a);. Natomiast znaki „##” łączą dwie nazwy w jedną. Przykład: #include #define abc(x) int zmienna ## x int main() { abc(nasza); /* dzięki temu zadeklarujemy zmienną o nazwie zmiennanasza */ zmiennanasza = 2; return 0; } Więcej o dobrych zwyczajach w tworzeniu makr można się dowiedzieć w rozdziale Powszechne praktyki. Predefiniowane makra W języku wprowadzono również serję predefiniowanych makr, które mają ułatwić życie programiście. Oto one: • DATE — data w momencie kompilacji • TIME — godzina w momencie kompilacji • FILE — łańcuch, który zawiera nazwę pliku, który aktualnie jest kompilowany przez kompilator • LINE — definiuje numer linijki • STDC — w kompilatorach zgodnych ze standardem ANSI lub nowszym makro to przyjmuje wartość 1 • STDC VERSION — zależnie od poziomu zgodności kompilatora makro przyj- muje różne wartości: – jeżeli kompilator jest zgodny z ANSI (rok 1989) makro nie jest zdefiniowane, – jeżeli kompilator jest zgodny ze standardem z 1994 makro ma wartość 199409L,
... zobacz całą notatkę
Komentarze użytkowników (0)