Η λέξη κλειδί ένωσης χρησιμοποιείται για τη δήλωση των ενώσεων. Μια ένωση είναι μια συλλογή μιας ή περισσότερων μεταβλητών (union_members) που έχουν ομαδοποιηθεί με ένα ενιαίο όνομα. Επιπλέον, κάθε ένα από αυτά τα μέλη ένωσης καταλαμβάνει τον ίδιο τομέα της μνήμης.

Data Recovery PRO DATA DOCTOR

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

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


Η λέξη κλειδί ένωσης

union tag {
union_member(s);
/* οι πρόσθετες δηλώσεις μπορούν να πάνε εδώ */
}instance;

Η λέξη κλειδί ένωσης χρησιμοποιείται για τη δήλωση των ενώσεων. Μια ένωση είναι μια συλλογή μιας ή περισσότερων μεταβλητών (union_members) που έχουν ομαδοποιηθεί με ένα ενιαίο όνομα. Επιπλέον, κάθε ένα από αυτά τα μέλη ένωσης καταλαμβάνει τον ίδιο τομέα της μνήμης.

Η ένωση λέξης κλειδιού προσδιορίζει την αρχή ενός καθορισμού ένωσης. Ακολουθείται από μια ετικέττα που είναι το όνομα που δίνεται στην ένωση. Μετά από την ετικέττα είναι τα μέλη ένωσης που εσωκλείονται στα στηρίγματα.

Μια περίπτωση, η πραγματική δήλωση μιας ένωσης, μπορεί επίσης να καθοριστεί. Εάν καθορίζετε τη δομή χωρίς την περίπτωση, είναι ακριβώς ένα πρότυπο που μπορεί να χρησιμοποιηθεί αργότερα σε ένα πρόγραμμα για να δηλωθούν οι δομές. Τα εξής είναι το σχήμα ενός προτύπου:

union tag {
union_member(s);
/* οι πρόσθετες δηλώσεις μπορούν να πάνε εδώ */
};

Για να χρησιμοποιήσει το πρότυπο, θα χρησιμοποιούσατε το ακόλουθο σχήμα:
union tag instance;

Για να χρησιμοποιήσετε αυτό το σχήμα, πρέπει να έχετε δηλώσει προηγουμένως μια ένωση με τη δεδομένη ετικέττα.

/* Κηρύξτε ένα πρότυπο ένωσης αποκαλούμενο ετικέττα */
union tag {
int num;
char alps;
}
/* Χρησιμοποιήστε το πρότυπο ένωσης */
union tag mixed_variable;


/* Δηλώστε μια ένωση και μια περίπτωση από κοινού */

union generic_type_tag {

char c;
int i;
float f;
double d;

} generic;

/* Initialize a union. */
union date_tag {

char full_date[9];

struct part_date_tag {

char month[2];
char break_value1;
char day[2];
char break_value2;
char year[2];

} part_date;

}date = {"09/12/80"};

Καλύτερα το καταλάβετε με τη βοήθεια των παραδειγμάτων:

#include <stdio.h>

int main()
{
union
{
int value; /* Αυτό είναι το πρώτο μέρος της ένωσης */

 

struct
{
char first; /* Αυτές οι δύο τιμές είναι το δεύτερο μέρος από το */
char second;
} half;

} number;

long index;

for (index = 12 ; index < 300000L ; index += 35231L)
{
number.value = index;
printf("%8x %6x %6x\n", number.value,
number.half.first,
number.half.second);
}

return 0;
}

Και η παραγωγή του προγράμματος θα επιδειχθεί ως εξής:

 

 

       c      c      0
89ab   ffab   ff89
134a     4a     13
9ce9   ffe9   ff9c
2688   ff88     26
b027     27   ffb0
39c6   ffc6     39
c365     65   ffc3
4d04      4     4d

 

 

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