C의 문자열

박상록(Sangrok Park)·2020년 10월 22일
0

Computer Science Basic

목록 보기
2/13

프로그램 만들기

지난시간 "스크래치"의 ask(질문을 묻고 답을 받는)기능과 가장 유사한 C의 명령은 바로

get_string();

예) get_string("what's your name /n");

"/n" 은 줄바꿈(Next Line.)

answer 라는 변수를 쓰면,

answer = get_string("what's your name? /n");

= 는 equal이 아니고, assign, 할당이라는 뜻. "="의 오른쪽에서 왼쪽으로 할당.

C는 변수의 타입을 꼭 정해줘야함.

string answer = get_string("what's your name? /n");

get_string("what's your name? /n");에 사용자가 답하면 그 답이 answer에 할당되는 방식. 그 할당되는 것이 string 타입이기에 변수앞에 string.

사용자의 답변이 answer라는 이름으로 컴퓨터 메모리 어딘가에 저장된 것!

answer를 출력하고 싶으면

string answer = get_string("what's your name? /n");
printf("hello, %s\n", answer);

%s는 형식지정자(place holder.) 뒤에 출력될 answer가 말 그대로 문자열answer가 아니라 string타입의 변수라는것을 알리기위한 표시. %ss는 string을 의미한다.

여기서 특이한 것. 처음 보는 코드는 오른쪽에서 왼쪽으로, 바깥에서 안쪽으로 읽으면 해석에 도움이 된다는 것!

내가 만든 소스코드가 담긴 file name은 string.c.
이것을 실행하려면, 터미널에서

$ clang -o string string.c -lsc50

-o string은 out string 즉 string.c라는 파일을 string.out이라는 머신코드로 저장하도록 하는 명령어.
-l은 link명령어, -lcs50은 컴파일시, cs50파일을 연결하라는 명령.

더 간단히

make string

하면, 간단하게 컴파일을 수행 할 수 있다.
이렇게 하면, 소스코드에 쓰여진대로 수행하는 프로그램 완성!

생각해보기

"좋아하는 동물을 알려주세요"로 질문하여 동물 이름을 "animal"이라는 변수에 저장하고, 이를 "내가 좋아하는 동물은"으로 출력해주는 코드를 작성해보세요.

완성!!

출처 : [부스트코스] 모두를 위한 컴퓨터 과학 (CS50 2019) (https://www.edwith.org/boostcourse-cs-050)

profile
한 줌의 소금과 같이 되고 싶은 개발자

0개의 댓글