Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/tests/references.c

    ra8555c5 rb05a4eb  
    3737int * toptr( int & r ) { return &r; }
    3838
     39void changeRef( int & r ) {
     40        r++;
     41}
     42
    3943int main() {
    4044        int x = 123456, *p1 = &x, **p2 = &p1, ***p3 = &p2,
     
    4347        **p3 = &x;                          // change p1
    4448        *p3 = &p1;                          // change p2
    45         int y, z, & ar[3] = { x, y, z };    // initialize array of references
     49        int y = 0, z = 11, & ar[3] = { x, y, z };    // initialize array of references
    4650
    4751        // test that basic reference properties are true - r1 should be an alias for x
     
    5256        // test that functions using basic references work
    5357        printf("%d %d %d %d\n", toref(&x), toref(p1), toptr(r1) == toptr(x), toptr(r1) == &x);
     58
     59        changeRef( x );
     60        changeRef( y );
     61        changeRef( z );
     62        printf("%d %d %d\n", x, y, z);
     63        changeRef( r1 );
     64        printf("%d %d\n", r1, x);
    5465
    5566        // test that reference members are not implicitly constructed/destructed/assigned
Note: See TracChangeset for help on using the changeset viewer.