지금까지 C언어, C++, python을 다뤄봤는데,
세 언어에 있어 정수형은 비슷해서 헷갈리지 않았는데,
문자와 문자열에 대해서는 헷갈리는 부분이 많아서 한눈에 정리해보려 한다.
python은 입력을 받을 때, 문자열로 입력을 받는다.
var = input()
이것을 int(), float() 등을 통해 형변환을 하는 것이다.
num = int(input())
또는
num = float(input())
출력에 있어서는
%c or %s
위와 같은 포맷 변환 문자를 통해 문자나 문자열로 출력이 가능하다.
리스트는 2개 이상의 값을 저장할 수 있는 자료형으로 리스트에 저장하고자 하는 값을 대괄호 [ , ]로 둘러싸주면 된다.
listA = [ , , ]
print(listA[0])
리스트 생성은
listA = []
listA = list()
이렇게 가능하다.
추가는
listA.append(5)
문자열의 입력 방법이다.
char 배열
scanf("%s",배열)
또는
char * c
scanf("%s",c)
이렇게 입력을 받으면 마지막엔 '\0'이 입력된다.
문자는 char로 받으면 된다.
단, 두번째 방법을 통했을 때에는 개별 문자 변환이 불가능하다.
위와 같은 방법으로 가능하다.
추가로, string STL을 사용할 수 있다.
#include <cstring>
string str;
getline(cin, str);
cout << "str : " << str << '\n';
getline(cin, str, 'd');
cout << "str : " << str << '\n';
cin >> str;
cout << "str : " << str << '\n';
string str; 문자열 생성
cin>>str; 공백 이전까지의 문자열을 입력받음
getline(cin, str); \n 이전까지의 문자열, 공백을 포함한 한 줄을 통째로 입력받음
getlind(cin, str, 'a'); 'a'문자 이전까지의 문자열을 입력받음
cout<<str; 문자열 출력
string 클래스를 사용했을 때에는 위와는 달리 문자열의 끝에 '\0'문자가 들어가지 않으며, 문자열의 길이를 동적으로 변경 가능하다.