strukturer i c

, eller tillade at definere, type af variabler, der kan holde flere oplysninger af samme art.på samme måde, struktur, er en anden bruger defineret datatype, der er til rådighed i c, som gør det muligt at kombinere oplysninger af forskellig art.,, strukturer, bruges til at repræsentere en rekord.hvis du ønsker at holde styr på dine bøger i biblioteket.du vil måske finde følgende attributter med hver bog −,,, titel, forfatter, emne, bog id,,, etablering af en struktur til at definere en struktur, du skal bruge, atlanterhavet, erklæring.de føre erklæring defineres en ny data type, med mere end ét medlem.formatet af atlanterhavet erklæring er følgende −,, atlanterhavet [struktur -] {medlem definition; medlem af definitionen;...medlemsstaternes definition;} [en eller flere struktur variabler];,,, struktur, mærke, er fakultativ, og hvert medlem definition er en almindelig variabel definition, som f.eks. int, eller flyde f; eller nogen anden gyldig variabel definition.ved afslutningen af den struktur definition, før den endelige semikolon, du kan angive en eller flere struktur variabler, men det er fakultativ.her er den måde, du ville erklære bogen struktur −,, føre bøger (char afsnit [50] char forfatter [50] char omfattet [100]; int book_id;} bog;,, adgang til struktur medlemmer, til at få adgang til ethvert medlem af en struktur, der bruger vi, medlem operatørs (.).den pågældende operatørs kodes som en periode mellem struktur variable navn og struktur medlem, som vi ønsker at få adgang til.vil du bruge nøgleordet, føre til at definere variablerne af struktur - typen.følgende eksempel viser, hvordan man bruger en struktur i et program og minus;,,&#omfatter < stdio. h >&#omfatter < snor. h > føre bøger (char afsnit [50] char forfatter [50] char omfattet [100]; int book_id;}; int vigtigste () (føre bøger book1; /* erklærer book1 af type bog * /føre bøger book2; /* erklærer book2 af type bog * /* bog 1 specifikation * /strcpy (book1.title, "c programmering"); strcpy (book1.author "nuha ali"); strcpy (book1.subject, "c programmering tutorielle"); book1.book_id = 6495407; /* bog 2 specifikation * /strcpy (book2.title "telecom ("); strcpy (book2.author "zara ali"); strcpy (book2.subject "telecom fakturering tutorial"); Book2.book_id = 6495700; /* print Book1 info */ printf( "Book 1 title : %s\ ", Book1.title); printf( "Book 1 author : %s\ ", Book1.author); printf( "Book 1 subject : %s\ ", Book1.subject); printf( "Book 1 book_id : %d\ ", Book1.book_id); /* print Book2 info */ printf( "Book 2 title : %s\ ", Book2.title); printf( "Book 2 author : %s\ ", Book2.author); printf( "Book 2 subject : %s\ ", Book2.subject); printf( "Book 2 book_id : %d\ ", Book2.book_id); return 0; } , ,When the above code is compiled and executed, it produces the following result −, , Book 1 title : C Programming Book 1 author : Nuha Ali Book 1 subject : C Programming Tutorial Book 1 book_id : 6495407 bog 2 afsnit: telecom fakturering bog 2. forfatter: zara ali bog 2 om: telecom fakturering tutorielle bog 2 book_id: 6495700, strukturer, som fungerer argumenter, du kan få en struktur, som en funktion argument, på samme måde som du passerer andre variable eller pointer.,,&#omfatter < stdio. >&#omfatter < snor. h > føre bøger (char afsnit [50] char forfatter [50] char omfattet [100]; int book_id;} /* funktion erklæring * /tomrum printbook (føre bøger bog); int vigtigste () (føre bøger book1. /* erklærer book1 af type bog * /føre bøger book2; /* erklærer book2 af type bog * /* bog 1 specifikation * /strcpy (book1.title, "c programmering"); strcpy (book1. forfatter, "nuha ali"); strcpy (book1.subject, "c programmering tutorielle"); book1.book_id = 6495407; /* bog 2 specifikation * /strcpy (book2.title "telecom ("); strcpy (book2.author "zara ali"); strcpy (book2.subject "telecom fakturering tutorielle"); book2.book_id = 6495700; /* aftryk book1 info * /printbook (book1) /* aftryk book2 info * /printbook (book2); tilbage 0} tomrum printbook (føre bøger bog) (printf ("bog titel:% r \\ n" bog. afsnit). printf ("bog. forfatter:% s. n" bog. forfatteren); printf ("bog om:% r \\ n" bog. om); printf ("bog book_id:% d) n" bog. book_id)}, når ovennævnte adfærdskodeks er udarbejdet og gennemført, det producerer efterg resultat −,, bog titel: c programmering bog. forfatter: nuha ali bog om: c programmering tutorielle bog book_id: 6495407 bog titel: telecom fakturering bog. forfatter: zara ali bog om: telecom fakturering tutorielle bog book_id: 6495700, tips til strukturer, kan du definere tips til strukturer på samme måde så du definere fingerpeg til enhver anden variabel −,, føre bøger * struct_pointer;, nu kan du opbevare den adresse, en struktur med variabel i den ovenfor definerede pointer variabel.at finde adressen på en struktur, variable, sted "& operatøren, inden struktur navn som følger og minus;,, struct_pointer = & book1;,, adgang til medlemmerne af en struktur med en indikator for, at struktur, skal du bruge → operatør således &minus,,, struct_pointer - > afsnit, lad os skrive ovenstående eksempel ved anvendelse af struktur pointer.,,&#omfatter < stdio. h >&#omfatter < snor. h > føre bøger (char afsnit [50] char forfatter [50] char om [100]; int book_id;} /* funktion erklæring * /tomrum printbook (føre bøger * bog); int vigtigste () (føre bøger book1; /* erklærer book1 af type bog * /føre bøger book2; /* erklærer book2 af typenbog * //* bog 1 specifikation * /strcpy (book1.title, "c programmering"); strcpy (book1.author "nuha ali"); strcpy (book1.subject, "c programmering tutorielle"); book1.book_id = 6495407; /* bog 2 specifikation * /strcpy (book2.title "telecom ("); strcpy (book2.author "zara ali"); strcpy (book2.subject "telecom fakturering tutorielle"); book2.book_id = 6495700; /* aftryk book1 info ved adresse på book1 * /printbook (& book1) /* aftryk book2 info ved adresse på book2 * /printbook (& book2) tilbage. 0} tomrum printbook (føre bøger * bog) (printf ("bog titel:% r \\ n", bog - > afsnit); printf ("bog. forfatter:% r \\ n", bog - > forfatter);printf ("bog om:% r \\ n", bog - > om); printf ("bog book_id:% d) n", bog - > book_id)}, når ovennævnte adfærdskodeks er udarbejdet og gennemført, giver følgende resultat −,, bog titel: c programmering bog. forfatter: nuha ali bog om: c programmering tutorielle bog book_id: 6495407 bog titel: telecom fakturering bog. forfatter: zara ali bog om: telecom fakturering tutorielle bog book_id: 6495700, lidt områder, lidt områder tillader behandling af data i en struktur.dette er især nyttig, når hukommelse eller lagring af data er en præmie.typiske eksempler er &minus,,,,, med flere objekter i en maskine.f.eks. 1 lidt flag kan forene.,,,, at læse eksterne filformater - særlige filformater, kan læses i f.eks. 9-bit tal.,,,, c giver os mulighed for at gøre dette i en struktur definition ved at: lidt længde efter den variable.for eksempel −,, føre packed_struct {ikke underskrevet, int f1:1; ikke underskrevet, int f2:1; ikke underskrevet, int f3:1; ikke underskrevet, int f4:1; ikke underskrevet, int type: 4; ikke underskrevet, int my_int: 9;} pakning;,,, packed_struct indeholder 6 medlemmer: fire 1 lidt flag f1... f3, en 4-bit type og en 9-bit my_int.,, c automatisk pakninger ovennævnte lidt områder som compactly som muligt, forudsat at den maksimale længde på området, er mindre end eller lig med heltal ordlængde på computeren.hvis dette ikke er tilfældet, så man kan tillade hukommelse overlapning inden for de områder, mens andre gemmer det næste område i det næste ord.,,



Previous:
Next Page: