Inne działy

 

 

Wyrażenia stałe i stałe symboliczne

 

Wyrażenia stałe i stałe symboliczne Wyrażenia stałe są to wyrażenia, które nie zależą od zmiennych. Czyli mogą zawierać stałe (const), stałe wyliczenia (enum), zwykłe wartości są na sztywno wpisane w kod programu bądź stałe symboliczne. Stałą symboliczną definiuje się poza funkcjami, czyli jest globalna (dostępna dla wszystkich funkcji). Stałe symboliczne tworzy się za pomocą dyrektywy preprocesora (części kompilatora) #define. Poniżej pokazane zostały cztery przykłady użycia stałej symbolicznej.

 


#include <stdio.h>
#define MAX 10
#define ILOCZYN(x,y) (x)*(y)
#define DRUKUJ(wyrazenie) printf(#wyrazenie " = %g\n", wyrazenie)
#define POLACZ_TEKST(wyr1, wyr2) wyr1 ## wyr2
main ()
{
   double POLACZ_TEKST(po, datek) = 0.23;
   printf("MAX: %d\n", MAX);
   printf("ILOCZYN: %d\n", ILOCZYN(MAX,MAX));
   DRUKUJ(10.0/6.5);
   printf("%.2f\n", podatek);
}

Druga linia powyższego kodu definiuje stałą symboliczną MAX o wartości 10. Kompilator podczas tłumaczenia kodu zamieni wszystkie wystąpienia stałej MAX na odpowiadającą jej wartość. Linia trzecia definiuje tak jakby funkcję ILOCZYN, która przyjmuje dwa argumenty i je wymnaża. Czwarta linia programu tworzy makro, które po wywołaniu wstawi wyrazenie w miejsce #wyrazenie (znak # jest obowiązkowy) oraz obliczy je i wstawi w miejsce deskryptora formatu (%g), a wszystko to zostanie wydrukowane za pomocą funkcji printf. Za pomocą operatora ## skleja się argumenty. Składnia dla tego operatora jest taka jak pokazano w piątej linii listingu.

W funkcji main używamy tego makra do połączenia słów po i datek, co w efekcie daje podatek. Jako iż przed nazwą stoi słowo double, a po nazwie inicjacja wartości, to słowo podatek staje się zmienną typu double.
Pierwsza instrukcja printf drukuje liczbę 10, ponieważ stała MAX posiada taką wartość, natomiast druga wydrukuje wynik mnożenia liczby, która kryje się pod nazwą MAX. Oczywiście wynikiem będzie liczba 100.

 

Zobacz nasze wszystkie kursy

WWW


HTML
HTML - Znaczniki
CSS - Tutorial
CSS - Selektory
PHP
JavaScript

XML

XSLT

Bazy danych


SQL
SQLite
MySQL
PostgreSQL

 

 

Programowanie


C
C++
C#
Java
VisualBasic
Python

Linux


Podstawy Linuxa
Bash
Linuks artykuły

Windows


Excel funkcje
Windows wskazówki
Outlook

Pozotałe działy


Programy
Rozrywka

 

 

 

This email address is being protected from spambots. You need JavaScript enabled to view it.