home *** CD-ROM | disk | FTP | other *** search
- #include <stdio.h>
- #include <malloc.h>
- #include <string.h>
- #include <os2def.h>
-
- #define INCL_DOS
- #include <bse.h>
-
- typedef enum {Lundi, Mardi, Mercredi, Jeudi, Vendredi, Samedi, Dimanche} WeekDay;
-
- typedef struct Info {
- int integer;
- char car;
- WeekDay day;
- } Info;
-
- typedef struct Record {
- int integer;
- char car;
- Info info;
-
- } Record;
-
- typedef int *IntPtr;
- typedef IntPtr ArrayPtr[5];
-
-
- typedef struct List {
- int elemInteger;
- unsigned *ptrCard;
- struct List *nextList;
- Record rec;
- char *ptrChar;
- ArrayPtr arrPtr;
- } List;
-
- typedef List *PtList;
-
- typedef struct ListOfList {
- PtList list;
- unsigned *ptrCard;
- struct ListOfList *next;
- char *ptrChar;
- int elemInt;
- char str[8];
- } ListOfList;
-
- typedef ListOfList *LLRAS;
-
- LLRAS llras;
- int numList;
-
-
- NewList (pplist, i)
- PtList *pplist;
- int i;
-
- {
- int j;
- PtList plist;
-
- if (*pplist == NULL) {
- *pplist = malloc(sizeof(List));
- plist = *pplist;
-
- plist->nextList = NULL;
- plist->elemInteger = i;
-
- plist->ptrCard = malloc(sizeof(unsigned));
- *plist->ptrCard = 2 * i;
-
- plist->ptrChar = malloc(sizeof(char));
- strcpy(plist->ptrChar, "c");
-
- for (j=0; j<=4; j++) {
- plist->arrPtr [j] = malloc(sizeof(int));
- *plist->arrPtr [j] = j * i;
- }
-
- plist->rec.integer = i;
- plist->rec.car = 'r';
- plist->rec.info.integer = 2 * i;
- plist->rec.info.car = 'o';
- plist->rec.info.day = Mardi;
- }
- else {
- plist = *pplist;
- NewList(&plist->nextList,i);
- }
- }
-
- NewListOfList (pllras, i)
- LLRAS *pllras;
- int i;
- {
- unsigned j;
- LLRAS llras;
-
- if (*pllras == NULL) {
- *pllras = malloc (sizeof(ListOfList));
- llras = *pllras;
-
- llras->list = NULL;
-
- for (j=0; j<=1; j++) {
- NewList(&llras->list, i);
- }
-
- llras->ptrCard = malloc(sizeof(unsigned));
- *llras->ptrCard = i;
- llras->next = NULL;
- llras->ptrChar = malloc(sizeof(char));
- *llras->ptrChar = 'M';
- llras->elemInt = 23;
- strcpy(llras->str,"BONJOUR");
- }
- else {
- llras = *pllras;
- NewListOfList(&llras->next, i);
- }
- }
-
- llrasmain()
- {
- llras = NULL;
- for (numList=1; numList<=3; numList++) {
- NewListOfList(&llras, numList);
- }
- }
-