typedef struct Object { int a; int ID; int b; }Object; Object newObject() { Object obj; printf("newObject()...\n"); obj.a = 1024; obj.ID = -1; obj.b = 2; return obj; } Object newObjectWithID(int ID) { Object obj; printf("newObjectWithID()...\n"); obj = newObject(); obj.ID = ID; return obj; } typedef struct User { Object obj; int c; }User; User newUser() { User user; printf("newUser()...\n"); user.obj = newObject(); user.c = 3; return user; } User newUserWithID(int ID) { User user; printf("newUserWithID()...\n"); user = newUser(); user.obj = newObjectWithID(ID); return user; }
原文:https://www.cnblogs.com/NULL-ROOT/p/10718207.html