Jason. Cała informatyka w jednym miejscu!

Powrócimy znowu do języka C prezentując całkowicie już archaiczną instrukcję skoku, która była wykorzystywana w czasach nałogowego używania języka FORTRAN. Słowa kluczowe "break" i "continue" przyszły później, najpierw było "goto". Tak się składa, że "goto" w języku C również występuje do dnia dzisiejszego. Od razu napiszę, nie przerzucajcie się na to! To już jest mocno przestarzała instrukcja od co najmniej 20 lat. Tak więc potraktujcie ten artykuł jak zapoznanie się z częścią historii programowania w latach .60 i .70.

"GOTO" W JĘZYKU C TO INSTRUKCJA SKOKU

Nie wiem jak prezentuje się "goto" w językach FORTRAN, COBOL i w innych dużo starszych od samego C. W każdym razie, zasada jest taka sama i niezmienna. Instrukcja ta powoduje "przeniesienie się" do innego miejsca w kodzie tam, gdzie znajduje się postawiona wcześniej "etykieta". Możecie to potraktować jak alternatywa pętli. Zwykle taką instrukcję osadzało się w instrukcji warunkowej, aby wykonywała te same ciągi instrukcji do pewnego pożądanego momentu. W języku C jest ona poprzedzona dwukropkiem, a przykładowy kod źródłowy wygląda następująco:

#include <stdio.h>

int main(void)
{
	int i = 0;
	
	increment:			// etykieta "goto" w języku C
	++i;
	
	printf("I = %d\n", i);
	
	if(i < 10)
	{
		goto increment;
	}
	
	getchar();
	
	return 0;
}

Powyżej widzimy kod źródłowy wraz z funkcją "main" wykorzystującą instrukcję "goto". Idąc od samej góry mamy przydzielenie pamięci dla zmiennej "i" oraz inicjalizację wartością równą zero. Następnie trafiamy na tę etykietę o której wspomniałem. Z posiadanych przeze mnie informacji wynika, że "goto" w języku C wspiera dodatkowo nazwy etykiet co czyniło go jeszcze chętniej wybieranym, ponoć starsze języki miały tylko numerki (przynajmniej pierwsze wersje). Następnie mamy preinkrementację licznika, wypisywanie aktualnej wartości, a potem trafiamy na warunek decydujący o tym, czy przejść do powyższej etykiety, czy nie. Tutaj mamy do czynienia z identycznym zachowaniem pętli "while". Dopóki wartość "i" nie jest większa bądź równa 10, instrukcja skoku będzie powodować "teleportowanie się" do powyższej etykiety i ponowne wykonanie wszystkich instrukcji.

Słowo kluczowe "goto" w języku C

Instrukcja skoku "goto" była wykorzystywana w latach .60 i .70 jako starszy odpowiednik dzisiejszych instrukcji "break" i "continue".


Oto fragment historii przestarzałej instrukcji skoku. Możecie sobie skompilować powyższy program i zobaczyć jak to dokładnie działa, ale zaklinam Was, nie korzystajcie z tego! Dzisiaj macie wygodniejsze sposoby do kontrolowania przebiegu wykonywania instrukcji. DUŻO WYGODNIEJSZE.

PODOBNE ARTYKUŁY