문자, 문자열 정리

배혜진·2023년 1월 11일

지금까지 C언어, C++, python을 다뤄봤는데,
세 언어에 있어 정수형은 비슷해서 헷갈리지 않았는데,
문자와 문자열에 대해서는 헷갈리는 부분이 많아서 한눈에 정리해보려 한다.


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)

C언어

문자열의 입력 방법이다.

char 배열
scanf("%s",배열)

또는 

char * c
scanf("%s",c)

이렇게 입력을 받으면 마지막엔 '\0'이 입력된다.
문자는 char로 받으면 된다.

단, 두번째 방법을 통했을 때에는 개별 문자 변환이 불가능하다.

C++

위와 같은 방법으로 가능하다.
추가로, 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'문자가 들어가지 않으며, 문자열의 길이를 동적으로 변경 가능하다.

profile
HYU🦁 Information System 22✨

0개의 댓글