Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys

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ä.


Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys