Määratlege struktuur. Mis vahe on struktuuril ja massiivil?


Vastus 1:

Struktuur on kasutaja määratletud andmetüüp, mis võib sisaldada ühte või mitut erinevat tüüpi andmeid. Massiiv on lihtsalt elementide kogum, kus iga element on sama andmetüübiga. Mõelge sellele, et loote rakenduse, kuhu soovite salvestada õpilaste andmeid. Õpilasel puudub rullnimi (int), nimi (string), sugu (char) ja GPA (float). Selleks on teil kaks võimalust -

Looge 4 erinevat massiivi - rollno [n], nimi [n], sugu [n], gpa [n], kus iga i (0 <= i

Järgmine viis on struktuuri loomine. Loote järgmise struktuuri:

struct student {int rollno; char nimi [100]; char sex; ujuk gpa; }; struct student student_list [n];

Nii saate salvestada kõik õpilase andmed ühes andmeplokis. student_list [i] salvestab kõik andmed konkreetse õpilase kohta.

Konstruktsioonid tagavad abstraktsiooni teatud taseme. Kujutage ette, et kirjutate funktsiooni konkreetse õpilase üksikasjade töötlemiseks. Esimese meetodi korral näeb funktsioon välja järgmine:

int protsess_student (int rollno, char * nimi, char sex, float gpa) {// tee midagi}

Kui kasutate struktuuri, saate andmeid vaevata mööda saata -

int protsess_student (struktureeritud õpilaseseme) {// tehke õpilasega midagi}

Võite liikuda edasi struktuuri vajalike meetodite määratlemiseni ja sellega mõnda töötlemist teha - see on põhimõtteliselt objektorienteeritud käitumise simuleerimine.


Vastus 2:

Struktuur on kasutaja määratletud andmetüüp.

Massiiv on sama andmetüübi mitme elemendi kogum.

Andmetüübi loomiseks kasutage meetodit struct. Massiiviga võrreldes on parem kasutada struktuuri.

Näiteks kaaluge järgmisi 50 2D-punkti komplekti kujutisi. Massiive kasutades saate järgmise määratluse:

int x [50], y [50];

Võite kasutada ka:

int [50] [2];

Kuid struktuuri kasutamine annab parima esituse.

[kood]

struct Point {

sa x, y te;

};

struct Punktipunktid [50];

[/ kood]