1*b725ae77Skettenis /* A test */ 2*b725ae77Skettenis 3*b725ae77Skettenis #include "ss.h" 4*b725ae77Skettenis #include <stdio.h> 5*b725ae77Skettenis 6*b725ae77Skettenis extern int structarg(struct s); 7*b725ae77Skettenis extern int pstructarg(struct s*); 8*b725ae77Skettenis extern int shr1(int); 9*b725ae77Skettenis extern int shr2(int); 10*b725ae77Skettenis extern float sg; 11*b725ae77Skettenis 12*b725ae77Skettenis int eglob; 13*b725ae77Skettenis 14*b725ae77Skettenis struct { 15*b725ae77Skettenis int a; 16*b725ae77Skettenis int b; 17*b725ae77Skettenis } s; 18*b725ae77Skettenis 19*b725ae77Skettenis int g; 20*b725ae77Skettenis 21*b725ae77Skettenis #ifdef PROTOTYPES local_structarg(struct s x)22*b725ae77Skettenisint local_structarg(struct s x) 23*b725ae77Skettenis #else 24*b725ae77Skettenis int local_structarg(x) 25*b725ae77Skettenis struct s x; 26*b725ae77Skettenis #endif 27*b725ae77Skettenis { 28*b725ae77Skettenis return x.b; 29*b725ae77Skettenis } 30*b725ae77Skettenis 31*b725ae77Skettenis #ifdef PROTOTYPES mainshr1(int g)32*b725ae77Skettenisint mainshr1(int g) 33*b725ae77Skettenis #else 34*b725ae77Skettenis int mainshr1(g) 35*b725ae77Skettenis int g; 36*b725ae77Skettenis #endif 37*b725ae77Skettenis { 38*b725ae77Skettenis return 2*g; 39*b725ae77Skettenis } 40*b725ae77Skettenis main()41*b725ae77Skettenisint main() 42*b725ae77Skettenis { 43*b725ae77Skettenis struct s y; 44*b725ae77Skettenis g = 1; 45*b725ae77Skettenis g = shr1(g); 46*b725ae77Skettenis g = shr2(g); 47*b725ae77Skettenis g = mainshr1(g); 48*b725ae77Skettenis sg = 1.1; 49*b725ae77Skettenis printf("address of sg is 0x%x\n", &sg); 50*b725ae77Skettenis y.a = 3; 51*b725ae77Skettenis y.b = 4; 52*b725ae77Skettenis g = local_structarg(y); 53*b725ae77Skettenis g = structarg(y); 54*b725ae77Skettenis g = pstructarg(&y); 55*b725ae77Skettenis return 0; 56*b725ae77Skettenis } 57