C heeft een gotoverklaring die toelaat dat ongestructureerde sprongen worden gemaakt. Om een gotoverklaring te gebruiken, gebruikt u eenvoudig gereserveerde woordgoto die door de symbolische naam wordt gevolgd waaraan u om wenst te springen. U kunt bijna overal binnen een functie springen, maar u wordt niet toegelaten om in een lijn te springen.

Data Recovery PRO DATA DOCTOR

Home | Order Online | Downloads | Contact Us | Software Knowledgebase

it | es | pt | fr | de | jp | kr | cn | ru | nl | gr


De gotoverklaring

C heeft een gotoverklaring die toelaat dat ongestructureerde sprongen worden gemaakt. Om een gotoverklaring te gebruiken, gebruikt u eenvoudig gereserveerde woordgoto die door de symbolische naam wordt gevolgd waaraan u om wenst te springen. De naam wordt dan overal in het programma geplaatst dat door een dubbelpunt wordt gevolgd. U kunt bijna overal binnen een functie springen, maar u wordt niet toegelaten om in een lijn te springen, hoewel u uit een lijn mag springen.

Dit bepaalde programma is werkelijk knoeit maar het is een goed voorbeeld van waarom de softwareschrijvers proberen om het gebruik van de gotoverklaring te elimineren zo veel mogelijk. De enige plaats in dit programma waar het redelijk is om goto te gebruiken is, waar het programma uit de drie genestelde lijnen in één sprong springt. In dit geval zou het eerder slordig zijn om een variabele op te zetten en opeenvolgend uit elk van de drie genestelde lijnen te springen maar één gotoverklaring krijgt u uit alle drie op een zeer beknopte manier.

Sommige personen zeggen de gotoverklaring nooit in om het even welke omstandigheden zou moeten worden gebruikt, maar dit is het smalle gelete op denken. Als er een plaats is waar een goto duidelijk een keurigere controlestroom dan één of ander ander concept zal doen, vrij voelen om het te gebruiken, echter, aangezien het in de rest van het programma over uw monitor is. Zie het voorbeeld:

#include <stdio.h>

int main()
{
int dog, cat, pig;

goto real_start;

some_where:

printf("This is another line of the mess.\n");

goto stop_it;

/* the following section is the only section with a useable goto */
real_start:

for(dog = 1 ; dog < 6 ; dog = dog + 1)
{

for(cat = 1 ; cat < 6 ; cat = cat + 1)
{

for(pig = 1 ; pig < 4 ; pig = pig + 1)
{
printf("Dog = %d Cat = %d Pig = %d\n", dog, cat, pig);

if ((dog + cat + pig) > 8 ) goto enough;
}
}
}

enough: printf("Those are enough animals for now.\n");
/* dit is het eind van de sectie met een bruikbare gotoverklaring */

printf("\nThis is the first line of the code.\n");
goto there;

where:
printf("This is the third line of the code.\n");
goto some_where;

there:
printf("This is the second line of the code.\n");
goto where;

stop_it:
printf("This is the last line of this mess.\n");
return 0;
}

Zie de getoonde resultaten

Dog = 1 Cat = 1 Pig = 1
Dog = 1 Cat = 1 Pig = 2
Dog = 1 Cat = 1 Pig = 3
Dog = 1 Cat = 2 Pig = 1
Dog = 1 Cat = 2 Pig = 2
Dog = 1 Cat = 2 Pig = 3
Dog = 1 Cat = 3 Pig = 1
Dog = 1 Cat = 3 Pig = 2
Dog = 1 Cat = 3 Pig = 3
Dog = 1 Cat = 4 Pig = 1
Dog = 1 Cat = 4 Pig = 2
Dog = 1 Cat = 4 Pig = 3
Dog = 1 Cat = 5 Pig = 1
Dog = 1 Cat = 5 Pig = 2
Dog = 1 Cat = 5 Pig = 3

Those are enough animals for now.

This is the first line of the code.
This is the second line of the code.
This is the third line of the code.
This is another line of the mess.
This is the last line of this mess.


Sample Chapters from book DATA RECOVERY WITH AND WITHOUT PROGRAMMING by Author Tarun Tyagi
Data Recovery with & without Programming


Publishers of the Book
Number of Pages
ISBN
Price of the Book


BPB Publications, New Delhi, India
540
81-7656-922-4
$69.00 (Including Shipping Charges, Cost of Book and Other expenses, Free Source Code CD included with the Book)





Buy Data recovery Book

Previous page

page 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20

 
 

page 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37

 
 

page 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54

 
 

page 55 | 56 | 57 | 58 | 59 | 60

Next page

© Copyright 2002-2005 DataDoctor.Biz

Home | Contact us | Downloads | Services | Resources | Terms and conditions | Site map

Website Data Recovery | recuperación de Datos | Récupération de données | Datenrettung | Recupero dati | データ復旧 | 데이터 복구 | 数据恢复 | Восстановление данных | De terugwinning van gegevens | Ανάκτηση δεδομένων
Sitemap Site map1 2 3 4 | Spanish1 2 3 | French1 2 3 | German1 2 3 | Italian1 2 3 | Portuguese1 2 3 | Japanese1 2 3 | Korean1 2 3 | Chinese1 2 3 | Russian1 2 3 | Dutch1 2 3 | Greek1 2 3
Data Recovery Book English | Spanish | French | German | Italian | Portuguese | Japanese | Korean | Chinese | Russian | Dutch | Greek