본문 바로가기

크래프톤 정글/TIL

[4주차] C 언어 포인터 주소값 출력

 

 

#include <stdio.h>

int main() {

    char arr_char[6] = "Hello";

    printf("%s, %s\n", arr_char, &arr_char[2]);		// 1) 출력: Hello, llo
    printf("%p, %p\n", arr_char, &arr_char[2]);		// 2) 출력: 0x16fdff364, 0x16fdff366
    printf("%x, %x\n", arr_char, &arr_char[2]);		// 3) 출력: 6fdff364, 6fdff366

    return 0;
}

 

1) 

1 -1) arr_char 을 %s로 출력하면, 그 배열 전체를 출력

1 -2) &arr_char[2] 을 %s로 출력하면, 3번 인덱스부터 그 배열 전체를 출력

 

2) 

2 -1) arr_char 을 %p로 출력하면, 그 ptr의 첫번째 주소를 16진수로 출력

2 -2) &arr_char[2] 을 %p를 출력하면, 그 ptr의 3번째 인덱스의 주소를 16진수로 출력

 

3) 

3 -1) arr_char 을 %x 로 출력하면, arr_char 값을 16진수로 출력 

3 -2) arr_char 을 %x 로 출력하면, arr_char[2] 값을 16진수로 출력