Összetett adattípusok B

Összetett adattípusok B

Szerkezet - társulás több objektum lehet különböző, az azonos nevű, ami egy olyan típusú szerkezet. A tárgyak működhet változók, tömbök, pointerek, és egyéb szerkezetek.







Struktúra lehetővé teszi, hogy kezelje a kapcsolt tárgyak, nem mint a több egyedi elemek, és a darabból. Szerkezet egy összetett adattípus, mely egyszerű típusok.

int day; // 4 bájt

char * hónap; // 4 bájt

int év; // 4 bájt
>;

a szerkezet a területen a memóriában tárolódnak a sorrendben, amelyben bejelentették:

Ebben a példában a szerkezetet dátumot foglal 12 byte tárolásával. Ezen túlmenően, a pointer * hónap inicializálás során lesz a kezdete egy szöveget a hónap nevét elhelyezett memória.

char lastname [20]; // eredetű

char firstname [20]; // név

struct dátum bd; // születési dátum
>;

Inicializálása a szerkezet mezők

Inicializálása a szerkezet mezők kétféleképpen történhet:

Az első inicializálási folyamatot végezzük az alábbi formában:







szerkezeti elem név egy kompozit. Eléréséhez eleme struktúra szükséges meghatározni a szerkezet, és a név az elem. Ezek ponttal elválasztva:

printf ( "% s ..", bd.day, bd.month, bd.year);

A második út a C nyelv objektum inicializálása a input-output funkciókat.

#include
#include
struct dátum

bitmezőkbe

Segítségével a szerkezet, a komponensek lehet csomagolni egész szigorúbban, mint ez nem történt meg egy tömb.

Set bit egész szám osztható bit-mezők, amelyek mindegyike kiosztott egy adott változó. A működés során, egybites mezők a hozzárendelt bitek számának tárolására minden mező elválasztjuk a megnevezés szerint egy kettőspont

írja neve: KolichestvoBit

Amikor dolgozik bitmezőkbe kell nézni közelről, hogy ez az érték nincs szükség több memóriát osztják rá.

Például fejleszthet egy program, amely elvégzi a csomagolás dátuma formátumban

#include
#include
#define YEAR0 1980
struct dátum

unsigned short nap: 5;

unsigned short hónap: 4;

unsigned short év: 7;
>;
int main ()

struct mai dátum;

Rámutatnak a szerkezetet

Dolgozó szervezetek számára egy sor, akkor a pointer p, vagy egy tömb neve:
vyrazhenie-> ID
(* Expression) .identifikator

expresszió - egy mutatót a struktúra vagy uniós;
id - a mező szerkezetét vagy Unió;

Dinamikus memóriafoglalás struktúráinak

Dinamikusan memóriát kiosztani egy sor szerkezetek szükséges abban az esetben, korábban ismeretlen a tömb méretét. Méretének meghatározására a szerkezet működését használt byte

sizeof (név szerkezet);

3. példa Könyvtár könyvek

#include
#include

#include
struct könyv



Kapcsolódó cikkek