Today Mini Learned :

기록하는 습관 들이기

TIPS - 내가 보려고 기록하는 팁!

[C] C에서의 타입 변환 (char to int, int to char)

얌챠 2020. 4. 2. 16:44

자바에서는 쉬웠는데 C에서 타입 변환하는게 헷갈려서 적어둠

 

 

* 다음 함수들을 사용하기 위해서는 헤더 <stdlib.h>가 필요하다.

ATOI (char to int)

int atoi( const char *str );

char형의 변환할 문자열을 넣으면 int형으로 변환해준다.

 

독특한 점은, 숫자가 아닌 문자('\n'등의 공백 문자 제외)가 온다면 그 이후에 나오는 모든 글자를 무시한다는 것이다. 예를 들어 "1234qwer5678"과 같이 입력할 경우에는 1234로 변환이 되고 뒤에 오는 모든 숫자와 글자는 무시된다. 또한 "q123"과 같이 입력 시에는 0을 리턴한다.

 

참고 : https://docs.microsoft.com/ko-kr/cpp/c-runtime-library/reference/atoi-atoi-l-wtoi-wtoi-l?view=vs-2019

 

ITOA (int to char)

char * _itoa( int value, char *buffer, int radix );

int형의 변환할 값과, 변환할 값을 저장할 char 타입 공간, 값을 변환시킬 진수 숫자를 넣으면 char를 반환한다.

 

마지막 인자로 나온 값을 변환시킬 진수 숫자는 2를 넣으면 변환할 값이 2진수로 저장되고, 10을 넣으면 10진수로 변환된다.

 

참고 : https://docs.microsoft.com/ko-kr/cpp/c-runtime-library/reference/itoa-itow?view=vs-2019

 

 

 

 

 

+

char x[5] = "qwer\0"

char배열은 항상 글자수보다 한 개 더 많다. 끝에 문자열의 끝(EOF)을 나타내는 null이 들어가기 때문. \0으로 나타낼 수도 있다.