home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Professional
/
OS2PRO194.ISO
/
os2
/
prgramer
/
mltiscop
/
llras.c
< prev
next >
Wrap
C/C++ Source or Header
|
1989-07-28
|
3KB
|
130 lines
#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);
}
}