728x90
아래와 같은 소스를 실행하였을 때 화면에 출력되는 값은 무엇인가.
즉, *(*(pptr_int_array+3)+2) 에 해당하는 값은 무엇인가.
int i = 0, j = 0, value = 0;
int row = 4, col = 5;
int **pptr_int_array = (int **)malloc(sizeof(int *) * row);
for (i = 0; i < row; i++) {
pptr_int_array[i] = (int *)malloc(sizeof(int) * col);
}
for (i = 0; i<row; i++) {
for (j = 0; j<col; j++) {
value++;
pptr_int_array[i][j] = value;
}
}
printf("%d\n", *(*(pptr_int_array + 3) + 2));
답은 18
값을 대입하기 전에 value++;를 하였으므로 최초 입력 값은 1
pptr_int_array[3][2]에 저장이 되므로 col이 5개짜리인 row를 3번 거친 후의 3번째 배열이므로 18번째 배열이다.
따라서 화면에 출력되는 값을 18이다.
728x90
'공부 > 기타' 카테고리의 다른 글
윈도우 10 IIS 설정하기 (Internet Information Service) (0) | 2019.12.15 |
---|---|
티스토리에서 syntaxhighlighter 3.0.83 설치하기 (2) | 2019.10.01 |
자료구조 2장. 연습문제 04 (0) | 2018.07.25 |
자료구조 2장. 연습문제 01 (0) | 2018.07.25 |
xor을 이용한 스왑 (0) | 2018.03.20 |