previous next Up Title Contents Index

7.4.1 Vakiomerkkijonot


Esikääntäjän makro- ominaisuutta hyväksikäyttäen voimme määritellä ohjelmaamme vakioita; eli arvoja jotka esiintyvät ohjelmassa täsmälleen yhden kerran. Näin ohjelmastamme saadaan helpommin muuteltava. Esimerkiksi seuraava ohjelma tulostaisi myös tekstin "Hello world!":

c-alk\hello2.c - tervehdys vakioksi

	/* Ohjelma tulostaa tekstin Hello world! */
	#include <stdio.h>
	#define TERVE   "Hello "
	#define MAAILMA "world"
	int main(void)
	{
	  printf(TERVE MAAILMA"!\n");
	  return 0;
	}
Miksikö? Koska esikääntäjä muuttaisi lauseen
	  printf(TERVE MAAILMA"!\n");
muotoon
	  printf("Hello " "world""!\n");
Kun tästä lisäksi poistetaan ylimääräiset "white space"- merkit saadaan:
	  printf("Hello world!\n");

Tehtävä 7.49 Terve maailma!

Kirjoita edellisestä ohjelmasta suomenkielellä tulostava versio (= suomenna ohjelma).

Tehtävä 7.50 Nimi ja osoite vakioksi

Kirjoita aikaisemmasta "Matti Meikäläinen asuu Kortepohjassa" - ohjelmasta versio, jossa nimi, osoite ja puhelin on esitelty #define- direktiivillä.


previous next Up Title Contents Index