본문 바로가기
C/☞

[56] 더블 포인터

by TR. 2020. 7. 27.

더블 포인터

 

1) 포인터 : 주소를 담음 (값의 방향 → 일반변수)

2) 더블포인터 : 포인터의 주소를 담음 (값의 방향 → 또다른 포인터)

 

. 2차원 가변배열의 사용을 위함

. 배열의 배열에 접근

  ㄴ 더블 포인터를 활용한 동적할당

 

    // int a = 100;
    // int *p = &a;
    // int **pp = &p;

    int **pp = new int*[1];
    //*pp = new int[2];
    pp[0] = new int[2];

    //**pp = 10;
    pp[0][0] = 10;
    pp[0][1] = 20;
    
    printf("pp[0][0]: %d\n", **pp);
    printf("pp[0][1]: %d\n", pp[0][1]);

 

 

    // ex)
    // 학번     C    Java   Python
    // 0000    0    0      0
    // 0000    0    0      0
    // 0000    0    0      0
    // ...
    
    int **pp = 0;

    pp = new int*[1];
    pp[0] = new int[4];
    // pp[0] = 10; // type error (int) -> (int *)

    pp[0][0] = 1004;
    pp[0][1] = 98;
    pp[0][2] = 80;
    pp[0][3] = 85;

    // print
    printf("학번\tC\tJava\tPython\n");
    for(int i=0; i<4; i++){
        printf("%d\t", pp[0][i]);
    }
    printf("\n");
    
    
    
    
    

 

'C > ' 카테고리의 다른 글

[58] 구조체  (0) 2020.07.27
[57] 연습문제 : 더블 포인터  (0) 2020.07.27
[55]-A. 가변 배열 컨트롤러  (0) 2020.07.27
[55] 가변 배열 컨트롤러  (0) 2020.07.27
[54] 동적할당 기본  (0) 2020.07.27

댓글