Definujte strukturu. Jaký je rozdíl mezi strukturou a maticí?


Odpověď 1:

Struktura je uživatelem definovaný datový typ, který může obsahovat jeden nebo více různých typů dat. Pole je jednoduše soubor prvků, kde každý prvek je stejného typu dat. Zvažte, že vytváříte aplikaci, do které chcete ukládat data o studentech. Student nemá žádné číslo (int), jméno (řetězec), pohlaví (char) a GPA (float). K tomu máte 2 možnosti -

Vytvořte 4 různá pole - rollno [n], jméno [n], pohlaví [n], gpa [n], kde každé i pro (0 <= i

Dalším způsobem je vytvoření struktury. Vytvoříte takovou strukturu:

struct student {int rollno; znak char [100]; char sex; float gpa; }; struct student student_list [n];

Tímto způsobem můžete uložit všechny podrobnosti o studentovi do jednoho bloku dat. student_list [i] ukládá všechna data o konkrétním studentovi.

Struktury poskytují určitou úroveň abstrakce. Představte si, že píšete funkci, která zpracovává podrobnosti o konkrétním studentovi. U první metody bude funkce vypadat takto:

int process_student (int rollno, char * name, char sex, float gpa) {// něco udělat}

Pokud používáte strukturu, můžete snadno přenášet data -

int process_student (strukturovat studentskou položku) {// něco udělat se studentem}

Můžete přejít k definování metod, které berou strukturu a provádět s ní nějaké zpracování - v podstatě simulující chování orientované na objekt.


Odpověď 2:

Struktura je uživatelem definovaný datový typ.

Pole je sada více prvků stejného datového typu.

Pokud si přejete vytvořit datový typ, použijte strukturu metody. Je lepší použít strukturu ve srovnání s maticí.

Například zvažte následující reprezentace sady 50 2D bodů. Pomocí polí získáte následující definici:

int x [50], y [50];

Můžete také použít:

int [50] [2];

Použití struktury však dává nejlepší reprezentaci.

[kód]

struct Point {

ty x, y tebe;

};

struct Point points [50];

[/kód]