Hallo zusammen.
Wir nehmen derzeit die Pointer in unserem C-Kurs durch und werden ab nächste Woche im Zuge dazu auch mit Strukturen arbeiten.
Da ich so fleissig bin :lol: wollte ich schon mal vorarbeit leisten und habe ein Programm geschrieben und Variablen aus einer Struktur einzulesen und auszulesen.
C
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include <math.h>
struct personentyp
{
int mnr;
char name[30];
char tel[30];
};
void main()
{
int anz=1;
int i=0;
int b=0;
personentyp p[5];
for(i=0;i<=4;i++) {
printf("Mitarbeiternummer: %d",b+1);
p[i].mnr=b+1;
printf("\nName: ");
gets (p[i].name);
if (strlen(p[i].name)==0) break;
printf("Telefon: ");
gets (p[i].tel);
anz++;
b++;
}
for (i=0;i<=4;i++){
printf ("\n\nNummer: %d",p[i].mnr);
printf ("\n\nName: %s",p[i].name);
printf ("\n\nTelefon: %s",p[i].tel);
}
}
Alles anzeigen
In dem Programm hab ich dann versucht einen Pointer einzubauen.
C
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include <math.h>
struct personentyp
{
int mnr;
char name[30];
char tel[30];
};
void main()
{
int anz=1;
int i=0;
int b=0;
personentyp p[5];
int *ptr=p;
for(i=0;i<=4;i++){
printf("Mitarbeiternummer: %d",b+1);
*ptr.mnr=b+1;
printf("\nName: ");
gets (*ptr.name);
if (strlen(*ptr.name)==0) break;
printf("Telefon: ");
gets (*ptr.tel);
anz++;
b++;
ptr++;
}
for (i=0;i<=4;i++){
printf ("\n\nNummer: %d",*ptr.mnr);
printf ("\n\nName: %s",*ptr.name);
printf ("\n\nTelefon: %s",*ptr.tel);
}
}
Alles anzeigen
Hätte mich auch gewundert, wenn das so funktionieren würde.
Kann mir vielleicht jemande helfen?
Oder mir zumindest kurz erklären wie ich Strukturen und Pointer zusammen arbeiten?
Danke!
Synox