미국 공학박사의 코딩 연구소

main 함수 해부하기 - 문자형

main() 함수에서 또 볼 수 있는 것이 "char"라는 것인데요.
데이터 타입 (data type) 중 문자형(integer)을 의미하는 것이랍니다.
함께 공부해 볼까요?



강의들은 모두 무료입니다. 단, 저작권은 키클 코딩랩 에 있으며, 무단 복제 및 배포를 엄금합니다.
이를 어길 시, 본 사이트의 서버가 미국에 있으므로, 미국법에 의해 처벌될 수도 있습니다.




문자 (Character) 데이터 타입 (Data type)

이전 강의 첫 대면..main 함수에서 했듯이, 원하는 폴더/디렉토리를 만들고 gedit 문서 편집기를 이용하여 "lec3_main.c"나 "lec3_main.cpp"라는 이름의 파일을 만들어 볼게요.
강의 main 함수 해부하기 - 정수형에서 main 함수에 정수형 변수 선언하는 코딩을 했었지요?
그 main 함수 코드를 복사해서, 아래처럼 새로 만든 파일에 붙여넣어 보세요. 이 코드에 새로운 코드들을 추가해 나갈 것이랍니다.

lec3_main.c 혹은 lec3_main.cpp
int main(int argc, char *argv[ ]) {
	int myvar = 3;
}

위 코드를 들여다 보면, "int"에 이어서 또 보이는 것이 무엇인가요? 바로 "char"라는 것이지요?
문자형 데이터 타입을 의미하는 것인데요. 자세히 들여다 볼까요?

강의 main 함수 해부하기 - 정수형에서, C/C++ 프로그래밍 언어에서는 각 수들의 특성을 고려해서 분류를 하고 있고, 각 분류들을 데이터 타입 (Data Type)이라고 부른다고 했지요? 그리고, "char"는 바로 문자형 (Character) 데이터 타입을 의미하는 것인데요, 아래에서 자세한 설명을 할게요.

[문법] 문자형 (Character)

위 설명은 문법 노트에서도 볼 수 있다는 것 잊지 마세요.




변수 (Variable)의 선언 (Declaration)과 할당 (Assignment)

문자형 데이터 타입에 대해서 알아 보았으니, 직접 코딩을 해 볼까요?
이전 강의 main 함수 해부하기 - 정수형에서, 어떤 데이터를 메모리 상에 저장하는 작업은 "변수의 선언과 할당"을 통해서 이루어 진다고 했었죠? 다음 단계로 넘어가기 전에, 먼저 복습 한 번 하고 갈까요?

[문법] 변수(Variable)의 선언(Declaration)

이제 그럼, 실제로 문자형 데이터를 저장하는 변수를 코딩해 보지요.
앞 부분에서 생성한 "lec3_main.c" 혹은 "lec3_main.cpp" 파일로 가보세요. 그리고, 아래 줄3~줄4처럼 코딩을 해 보세요.
C/C++ 코드를 작성할 때, 몇가지 경우를 제외하면, 어떤 코드를 완성할 때에는 반드시 ";"를 끝에 붙여야 한다는 점 잊지 마세요!

lec3_main.c 혹은 lec3_main.cpp
int main(int argc, char *argv[ ]) {
	int myvar = 3;
	char mychar = 'a';
	char mychar2 = 76;
}

위에서, 줄3은 "메모리 1 바이트에 문자 'a'를 저장하고, 그 이름을 mychar라고 하라"는 의미의 코드이지요. 문자를 코드에서 표현하기 위해서는, 홑따옴표 ' '를 사용한다는 점 잊지 마세요.
줄4는 mychar2라는 이름의 문자형 변수를 선언한 것이데요. 문자가 아닌, 76이라는 수를 할당했지요? 앞서 설명했지만, 코드 상에서 문자를 표현하면, 사실 이 문자들이 컴퓨터 내부에서는 이미 배정되어 있는 수들로 치환되서 다루어 진다고 했지요? 그리고, 그 배정되어 있는 수들은 ASCII code표에서 찾아볼 수 있다는 것도 기억하지요? 표를 찾아보면, 줄4에서 할당한 76은 사실 'L'이라는 것을 알 수 있답니다. 즉, char 데이터 타입 변수에 문자값을 할당할 때, 'L'와 같이 문자를 코딩해도 되지만, 76과 같이 ASCII code 값을 직접 할당해도 된답니다.

코딩을 마쳤다면, 강의 첫 대면..main 함수에서 했던 것처럼, 파일을 저장하고 gedit 편집기 닫기를 하세요.
이제, 컴파일을 해 볼게요. 아래처럼 "gcc lec3_main.c"나 "gcc lec3_main.cpp"를 터미널에서 실행해 보지요.

.../my_folder$ gcc lec3_main.c
.../my_folder$

아무 에러 메세지도 없이 컴파일이 잘 끝났지요? 그렇다면, 이번 강의는 이쯤에서 마무리할게요..

강의에서 작성된 소스 코드 (source code)를 다운받으려면, 다음 링크를 클릭하세요: lec3_main.c, lec3_main.cpp

혹시, 이해가 잘 안되는 부분에 대한 질문이 있거나 다루어 줬으면 하는 주제가 있으면, 화면 오른쪽 하단에 "질문하기" 버튼을 이용해 주세요.






발자취

2019-09-11 "키클 코딩랩 - 미국 공학박사 아빠의 코딩 연구소"로 이름 변경
2019-06-28 코딩 교실 공개
2019-03-18 코딩 교실 제작 시작

바로가기
Python 배움터
C/C++ 배움터
About
Contact
Privacy Policy
강의목록
질문하기
처음으로