Annotation of 43BSD/ucb/dbx/tests/cc/struct.c, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Test for C structures.
                      3:  */
                      4: 
                      5: /*
                      6:  * A simple nested structure.
                      7:  */
                      8: 
                      9: struct simple {
                     10:     int a;
                     11:     char b;
                     12:     double c;
                     13:     struct {
                     14:        int a;
                     15:        char b;
                     16:        double c;
                     17:     } d;
                     18:     int e;
                     19:     char f;
                     20:     double g;
                     21: } simple;
                     22: 
                     23: /*
                     24:  * Mutually recursive structures, using typedefs.
                     25:  */
                     26: 
                     27: typedef struct first *First;
                     28: typedef struct second *Second;
                     29: 
                     30: struct second {
                     31:     int b;
                     32:     char c;
                     33: };
                     34: 
                     35: struct first {
                     36:     int a;
                     37:     Second p;
                     38: };
                     39: 
                     40: UseRecurStructs()
                     41: {
                     42:     struct first b, *p;
                     43:     struct second list;
                     44: 
                     45:     p = &b;
                     46:     b.a = 3;
                     47:     b.p = &list;
                     48:     b.p->b = 4;
                     49:     b.p->c = 'c';
                     50: }
                     51: 
                     52: /*
                     53:  * Functions returning structures.
                     54:  */
                     55: 
                     56: struct simple f(x)
                     57: int x;
                     58: {
                     59:     struct simple s;
                     60: 
                     61:     s.a = x;
                     62:     s.g = 3.14;
                     63:     return s;
                     64: }
                     65: 
                     66: main()
                     67: {
                     68:     struct simple x;
                     69:     struct simple *y;
                     70: 
                     71:     UseRecurStructs();
                     72:     x = f(3);
                     73:     y = &x;
                     74: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.