Ich möchte eine Dinamically Matrix mit "Anzahl" Strukturelemente.Wenn ich versuche, "theNumber" zu drucken, wird das Programm nicht aus der printf-Funktion verlassen.Es halten mich Nullen von printf.Vielleicht habe ich eine falsche Zuordnung gemacht? Irgendeine Idee, bitte?Drucken des Feldes von Struktur in C
struct number {
int theNumber;
};
struct table {
struct number ** mem;
};
unsigned i;
struct table *createInstance(unsigned min) {
//flag1
struct table * someInstance = (struct table *) malloc(sizeof (struct table));
//flag2
if (someInstannce == NULL) {
return 0;
}
//flag3
someInstannce->mem = (struct number **) malloc((min + 1) * sizeof (struct number **));
//flag4
for (i = 0; i <= min; i++) {
someInstannce->mem[i] = (struct table *) calloc(5, sizeof (struct number *) + 1);
}
//flag5
for (i = 0; i <= min; i++) {
for (j = 0; j = 5; j++) {
printf("%d", someInstannce->mem[i][j].theNumber);
}
}
return someInstance;
}
Da dies streng genommen C ist, können Sie den malloc-Rückgabewert nicht umsetzen. – sjsam
Sie verwenden 'someInstance' und' someInstancen'. Sind diese Tippfehler oder gibt es irgendwo unter diesem Namen eine andere Variable? Ist dieser Code "etwas" wie dein Code, aber nicht * eigentlich * dein Code? –
@sjsam: casting 'void *' zu anderen Zeigern ist erlaubte3d durch den Standard. Es wird jedoch davon abgeraten. – Olaf