변환 문자를 c언어에서 이용해보자

리로린·2024년 8월 28일
0

c 언어

목록 보기
8/10

변환 문자 사용 예제

C 코드 예제

#include <stdio.h>

int main() {
    int decimal = 12345;      // 10진수 정수
    float float_num = 123.456; // 실수형
    double scientific = 0.000123; // 지수형
    int octal = 012345;       // 8진수 정수
    int hex = 0x1A3F;         // 16진수 정수
    unsigned int unsigned_num = 4294967295U; // 부호없는 10진수
    char ch = 'A';            // 문자
    char *str = "Hello, World!"; // 문자열
    int *ptr = &decimal;      // 포인터 주소

    // 10진수 출력
    printf("%%d : 10진수로 출력\n");
    printf("10진수: %d\n", decimal);

    // 실수형 출력
    printf("\n%%f : 실수형\n");
    printf("실수형: %f\n", float_num);

    // 지수형 출력
    printf("\n%%e : 지수형\n");
    printf("지수형: %e\n", scientific);

    // 8진수 출력
    printf("\n%%o : 8진수로 출력\n");
    printf("8진수: %o\n", octal);

    // 16진수 출력
    printf("\n%%x : 16진수로 출력\n");
    printf("16진수: %x\n", hex);

    // 부호없는 10진수 출력
    printf("\n%%u : 부호없는 10진수로 출력\n");
    printf("부호없는 10진수: %u\n", unsigned_num);

    // 실수형 자동 출력
    printf("\n%%g : 실수형으로 자동 출력\n");
    printf("자동 출력: %g\n", float_num);

    // 포인터 주소 출력
    printf("\n%%p : 포인터의 주소를 출력\n");
    printf("포인터 주소: %p\n", (void *)ptr);

    // 문자 출력
    printf("\n%%c : 하나의 문자로 출력\n");
    printf("문자: %c\n", ch);

    // 문자열 출력
    printf("\n%%s : 문자열을 출력\n");
    printf("문자열: %s\n", str);

    return 0;
}

코드 설명

  1. 10진수 출력 (%d)

    printf("10진수: %d\n", decimal);
    • decimal 변수를 10진수 형식으로 출력한다.

    • 출력 예시: 10진수: 12345

  2. 실수형 출력 (%f)

    printf("실수형: %f\n", float_num);
    • float_num 변수를 소수점 형태로 출력한다. 기본적으로 소수점 이하 6자리까지 표시된다.

    • 출력 예시: 실수형: 123.456000

  3. 지수형 출력 (%e)

    printf("지수형: %e\n", scientific);
    • scientific 변수를 지수 형태로 출력한다.

    • 출력 예시: 지수형: 1.230000e-04

  4. 8진수 출력 (%o)

    printf("8진수: %o\n", octal);
    • octal 변수를 8진수 형식으로 출력한다.

    • 출력 예시: 8진수: 12345

  5. 16진수 출력 (%x)

    printf("16진수: %x\n", hex);
    • hex 변수를 16진수 형식으로 출력한다.

    • 출력 예시: 16진수: 1a3f

  6. 부호없는 10진수 출력 (%u)

    printf("부호없는 10진수: %u\n", unsigned_num);
    • unsigned_num 변수를 부호없는 10진수 형식으로 출력한다.

    • 출력 예시: 부호없는 10진수: 4294967295

  7. 실수형 자동 출력 (%g)

    printf("자동 출력: %g\n", float_num);
    • float_num 변수를 자동으로 적절한 형식(10진수 또는 지수형)으로 출력한다.

    • 출력 예시: 자동 출력: 123.456

  8. 포인터 주소 출력 (%p)

    printf("포인터 주소: %p\n", (void *)ptr);
    • ptr 포인터가 가리키는 메모리 주소를 출력한다.

    • 출력 예시: 포인터 주소: 0x7ffeefbff568

  9. 문자 출력 (%c)

    printf("문자: %c\n", ch);
    • ch 변수를 하나의 문자로 출력한다.

    • 출력 예시: 문자: A

  10. 문자열 출력 (%s)

    printf("문자열: %s\n", str);
    • str 변수를 문자열로 출력한다.

    • 출력 예시: 문자열: Hello, World!

이 예제는 다양한 변환 문자를 사용하여 데이터를 다양한 형식으로 출력하는 방법을 보여준다. 각 변환 문자가 어떻게 동작하는지 이해하면, 프로그램에서 데이터를 보다 효율적으로 출력할 수 있다.

특히 포인터 같은 경우 문자열과 함께 그 예시를 살펴보자

	str = "Hello World with malloc()";
	printf("x  : base  : $%s$ @ %p\n", str, str);
	allocated = strdup(str);
	printf("c  : alloc : $%s$ @ %p\n", allocated, allocated);
	allocated = ft_strdup(str);
	printf("ft : alloc : $%s$ @ %p\n", allocated, allocated);
  • 출력 예시 :
    x : base : $Hello World with malloc()$ @ 0x555555556004
    c : alloc : $Hello World with malloc()$ @ 0x5555555596b0
    ft : alloc : $Hello World with malloc()$ @ 0x5555555596e0

문자열 s와 다르게 p는 포인터의 주소를 제대로 출력했음을 확인 할 수 있다.

profile
리로린의 블로그

0개의 댓글