diff options
author | Teddy <[email protected]> | 2014-05-07 11:55:51 +0800 |
---|---|---|
committer | Teddy <[email protected]> | 2014-05-07 11:55:51 +0800 |
commit | 30ecc9941b8da7a3c0108bc6117a1434e9caab94 (patch) | |
tree | 6a24b25086c63a4aa112fc6173b29c31793099d8 /compile_data/custom_struct4.c | |
parent | bbb4de0693ba2b010cd2c44805d9a4ee4a2a8904 (diff) | |
parent | 52b29440f8f1310e0c074c8eb409e433c56bdd62 (diff) |
Merge /home/ymf/work/cibic into optimization
Diffstat (limited to 'compile_data/custom_struct4.c')
-rw-r--r-- | compile_data/custom_struct4.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/compile_data/custom_struct4.c b/compile_data/custom_struct4.c new file mode 100644 index 0000000..75f50ea --- /dev/null +++ b/compile_data/custom_struct4.c @@ -0,0 +1,28 @@ +struct A { + struct B { + int x, y; + struct C { + int w; + } c; + } b; + int z; +}; + +struct B f(struct A a) { + printf("z: %d\n", a.z); + return a.b; +} + +struct C g(struct B b) { + printf("x: %d\ny: %d\n", b.x, b.y); + return b.c; +} + +int main() { + struct A a; + a.z = 1; + a.b.x = 2; + a.b.y = 3; + a.b.c.w = 4; + printf("w: %d\n", g(f(a)).w); +} |