die Struktur, kannst dich definierend einen Fall von ihm erklären und Werte den Mitgliedern zuweisen, welche die Punktdarstellung verwenden. Das folgende Beispiel veranschaulicht den Gebrauch von der Monat Struktur.
#include <stdio.h>
#include <string.h>
struct month
{
char name[10];
char abbreviation[4];
int days;
};
int main()
{
struct month m;
strcpy(m.name, "January");
strcpy(m.abbreviation, "Jan");
m.days = 31;
printf("%s is abbreviated as %s and has %d days\n", m.name, m.abbreviation, m.days);
return 0;
}
Der Ausgang des Programms ist, wie folgt:
January is abbreviated as Jan and has 31 days |
Alle ANSI C Compiler erlauben dir, eine Struktur anderen zuzuweisen und führen eine Mitglied-kluge Kopie durch. Wenn wir die Monat Strukturen hatten, die m1 und m2 genannt wurden, dann könnten wir die Werte von m1 zu m2 mit dem folgenden zuweisen:
- Struktur mit Zeiger-Mitgliedern.
- Struktur initialisiert.
- Führen einer Struktur zu einer Funktion.
- Zeiger und Strukturen.
Strukturen mit Zeiger-Mitgliedern in C
Zeichenketten in einer örtlich festgelegten Größe Reihe zu halten ist wirkungsloser Gebrauch von Gedächtnis. Eine leistungsfähigere Annäherung würde sein, Zeiger zu benutzen. Zeiger werden in den Strukturen genau in der gleichen Weise benutzt, die sie in den normalen Zeigerdefinitionen benutzt werden. Uns ein Beispiel sehen lassen:
#include <string.h>
#include <malloc.h>
struct month
{
char *name;
char *abbreviation;
int days;
};
int main()
{
struct month m;
m.name = (char *)malloc((strlen("January")+1) *
sizeof(char));
strcpy(m.name, "January");
m.abbreviation = (char *)malloc((strlen("Jan")+1) *
sizeof(char));
strcpy(m.abbreviation, "Jan");
m.days = 31;
printf("%s is abbreviated as %s and has %d days\n",
m.name, m.abbreviation, m.days);
return 0;
}
Der Ausgang des Programms ist, wie folgt:
January is abbreviated as Jan and has 31 days |
|