1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdio.h>
#include <stdlib.h>
 
typedef struct TreeNode {
    int data;
    struct TreeNode *left, *right;
} TreeNode;
 
int calc_dir_size(TreeNode *root)
{
    int left_size, right_size;
    if (root == NULLreturn 0;
 
    left_size = calc_dir_size(root->left);
    right_size = calc_dir_size(root->right);
    return (root->data + left_size + right_size);
}
// 
int main(void)
{
    TreeNode n4 = { 500NULLNULL };
    TreeNode n5 = { 200NULLNULL };
    TreeNode n3 = { 100&n4, &n5 };
    TreeNode n2 = { 50NULLNULL };
    TreeNode n1 = { 0&n2, &n3 };
 
    printf("디렉토리의 크기=%d\n", calc_dir_size(&n1));
}
cs