170m3's Apps

Ch2_06.c 본문

Data Structures

Ch2_06.c

곰대생 2015.03.08 22:02
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
struct     student {
    char    name[20+1];
    int        year;
    float    score;
};
 
void main(int arc, char **argv) {
    int    *ptr_int = NULL;
    int **pptr_int_array = NULL;
    int i = 0, j = 0;
    int row = 3;
    int col = 4;
    int value = 0;
    struct student student_lee;
    struct student *ptr_student = NULL;
    struct student *ptr_student_new = NULL;
 
    ptr_int = (int *) malloc(sizeof(int* 100);
    if (ptr_int != NULL) {
        printf("메모리 할당에 성공하였습니다\n");
 
        memset(ptr_int, 0sizeof(int* 100);
 
        free(ptr_int);
    }
 
    pptr_int_array = (int **) malloc(sizeof(int** row);
    memset(pptr_int_array, 0sizeof(int** row);
 
    for(i = 0; i < row; i++) {
        pptr_int_array[i] = (int *) malloc(sizeof(int* col);
        memset(pptr_int_array[i], 0sizeof(int* col);
    }
 
    for(i = 0; i < row; i++) {
        for(j = 0; j < col; j++) {
            value++;
            pptr_int_array[i][j] = value;
        }
    }
 
    for(i = 0; i < row; i++) {
        for(j = 0; j < col; j++) {
            printf("%d\t"*(*(pptr_int_array + i) + j) );
        }
        printf("\n");
    }
 
    for(i = 0; i < row; i++) {
        free(pptr_int_array[i]);
    }
    free(pptr_int_array);
 
    ptr_student = &student_lee;
    strcpy(ptr_student->name, "lee");
    ptr_student->score = 80.1f;
    ptr_student->year = 2005;
 
    printf("%s, %f, %d\n", student_lee.name, 
                            student_lee.score, 
                            student_lee.year);
 
    ptr_student_new = (struct student*) malloc(sizeof(struct student) * 1);
    if (ptr_student_new != NULL) {
        strcpy((*ptr_student_new).name, "new");
        (*ptr_student_new).score = 99.9f;
        (*ptr_student_new).year = 2010;
 
        printf("%s, %f, %d\n", ptr_student_new->name, 
                            ptr_student_new->score, 
                            ptr_student_new->year);
 
        free(ptr_student_new);
    }
}
 
cs
저작자 표시
신고

'Data Structures' 카테고리의 다른 글

Ch03_02 - 단순 연결 리스트  (0) 2015.04.05
Ch03_01 - 배열리스트  (0) 2015.04.05
Ch2_06.c  (0) 2015.03.08
Ch2_05.c  (0) 2015.03.08
Ch2_04.c  (0) 2015.03.08
Ch2_03.c  (0) 2015.03.08
0 Comments
댓글쓰기 폼