#include #include typedef struct _TreeItem { struct _TreeItem *left; struct _TreeItem *right; void *data; } TreeItem; void tree_walk_post(TreeItem *item){ if(item == NULL) return; tree_walk_post(item->left); tree_walk_post(item->right); printf("%s\n", item->data); } int main(){ TreeItem *root; TreeItem *cur; cur = calloc(1, sizeof(TreeItem)); cur->data = "data0"; root = cur; cur = calloc(1, sizeof(TreeItem)); cur->data = "data1"; root->left = cur; cur = calloc(1, sizeof(TreeItem)); cur->data = "data2"; root->right = cur; cur = calloc(1, sizeof(TreeItem)); cur->data = "data3"; root->right->left = cur; cur = calloc(1, sizeof(TreeItem)); cur->data = "data4"; root->right->right = cur; tree_walk_post(root); }