C언어의 기초 문법

cast 연산자

변수의 형태를 임시적으로 변환한다

cast 연산자는 변수의 형태를 임시적으로 변환하는 함수입니다.

제가 전 printf에서 말했듯이, "123456"은 컴퓨터에서 문자로 취급합니다. 이 때, printf("%c", 9);를 하면 '9'가 나오는 것이 아니라, 다른 이상한 문자가 나오지요? 이것은 9는 따옴표가 안 붙어 있어서 ASCII 코드로 인식되는 것입니다. 이때는 cast연산자를 쓰면 되는데, 간단합니다.

int a = 65;
printf("%c", (char)a);
// result: A

너무 간단하죠?

이처럼 cast 연산자는 변수 앞에 괄호를 놓고, 그 괄호 안에 내가 원하는 형태를 쓰면 됩니다.

댓글

댓글 본문
  1. PARU
    아하.. 덕분에 이해 됐어요 감사합니다!
    대화보기
    • Joel
      아하 오타가 있었네요;;

      a가 9면 ASCII 9를 문자로 바꾸는 건데 이건 HT 라는 공백 문자 (컴퓨터에서 이해만 하고 표시를 못하는 문자)를 의미합니다. 그래서 a의 값을 33부터 126 중 하나의 숫자로 정해야 컴퓨터에 표시가 됩니다. 오타네요. 제가 원래 쓰려 한거는 a를 97로 잡고 "a"를 출력하는 거였는데, 오타 제보 감사합니다
      대화보기
      • PARU
        int main() {

        int a = 9;

        printf("%c", (char)a);

        return 0;

        }

        이렇게 입력하고 실행 하는데 출력에 계속 아무것도 안나오네용 ㅜ.. 어디에 문제가 있는건가요?
      버전 관리
      Joel
      현재 버전
      선택 버전
      graphittie 자세히 보기