[linux] Re: OT: C-vraagje
J.
mailing-lists op xs4all.nl
Vr Feb 11 19:27:20 CET 2005
On Fri, 11 Feb 2005, Hans Paijmans wrote:
> Ik heb al zes of zeven jaar niet meer in C geprogrammeerd, en
> nu is de start wat moeilijk. Kan iemand me een duwtje geven?
Meestal ben ik niet zo `vanachteren..' Maar om dat jij 't bent dan ;-)
> Het onderstaande programma (teruggebracht tot de essentie) doet
> het niet; ik schijn iets verkeerd te doen bij de typedef...
> De compiler beweert bij hoog en bij laag dat field 'posities'
> en 'legaal' ongedefinieerd zijn...
>
> #include <stdio.h>
>
> #define POSSIBLE 3
> #define POSITIES 7
<KNIP>
..... zie originele bericht...
</KNIP>
Persoonlijk zou ik 't vertalen naar iets als:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define POSSIBLE 3
#define POSITIES 7
typedef char p_string[POSITIES];
typedef struct {
char *posities;
int legaal;
} node;
node *possible_nodes[POSSIBLE];
int main(void) {
int x = 0;
for(x = 0; x < POSSIBLE; x++)
possible_nodes[x] = (node *)malloc(sizeof(node));
possible_nodes[0]->posities = strdup("LLLL");
possible_nodes[1]->posities = strdup("LLLR");
possible_nodes[2]->posities = strdup("LLRR");
for(x = 0; x < POSSIBLE; x++)
possible_nodes[x]->legaal = 1;
printf("hoppa!\n");
for(x = 0;x < POSSIBLE; x++)
printf("%s \n",possible_nodes[x]->posities);
for(x = 0;x < POSSIBLE; x++)
free(possible_nodes[x]->posities);
return 0;
}
/*
// vanaf de command-line:
// ~: ./paai
// hoppa!
// LLLL
// LLLR
// LLRR
*/
More information about the Linux
mailing list