본문 바로가기
Programming/C

[따배씨] 섹션 2. C언어 소개

by DONGKU 2020. 7. 16.

2.1 C의 해부학

C언어를 이루고 있는 기본 구성요소는 함수

#include <stdio.h>
전처리기 - '컴파일' 하기 전에 처리 (미리 만들어놓은 것을 제공 like 편지를 쓸 때 유명 문구 복사해서 붙여넣는 것과 비슷)

 

2.3 변수가 편리한 이유

주소를 거쳐가 매우 불편
변수를 사용하면 '메모리의 주소를 직접 다루지 않고도' 그 메모리에 데이터가 저장되어 있는 공간을 수학의 변수처럼 직관적으로 사용할 수 있게 해줌

 

2.4 자료형이 필요한 이유

cpu가 메모리로부터 데이터를 가져올 때 2진수 덩어리로 가져오기 때문에 정수인지 실수인지 구분할 수 없음
그래서 cpu에게 '미리 알려주기 위해' 자료형을 사용

cpu에게 데이터를 주고 연산을 요청할 때 이 자료형이 사용하는 '메모리 사이즈'에 맞춰 계산을 해달라고 미리 요청

 

2.5 변수를 선언하는 방법

int x; // declaration, 정수 하나를 담을만한 메모리 공간을 확보했고, 그 메모리 공간을 x라는 변수를 통해 접근할 수 있다

 

2.6 printf()함수의 기본적인 사용법

print formatted라서 printf

#include <stdio.h> 를 해줬기 때문에 '링커'가 나중에 printf가 실제로 구현된 부분을 합쳐주어 exe파일 넣어줌

: escape sequence

%d: decimal
%i: integer

변수 오른쪽 우클릭 -> Rename -> New name에 이름 입력시 모든 선택된 변수 New name으로변경

 

2.7 주석 다는 방법

주석 설정: ctrl+k,ctrl+c
주석 해제: ctrl+k,ctrl+u

 

2.8 키워드와 예약어

키워드와 예약어는 변수명과 함수명으로 사용하면 x

 

2.9 함수 만들기

변수와 함수는 사용하기전에 항상 '선언'이 되어 있어야함

void say_hello(void);  // prototyping, function decalartion  // 컴파일이 끝난 후 링커가 링킹 하는 과정에서 몸체를 찾아 main문에서 쓸 수 있게 연결해줌
int main(
say_hello();  // function call
){}
void say_hello(void){}  // function definition

 

2.10 디버거 사용법

포인트 찍은 전줄부터 디버깅
F5 디버거
F10 함수 실행만 시키고 지나감
F11 함수 안쪽까지 돔

 

2.11 문법 오류와 문맥 오류

문법 오류는 컴파일러가 잡아줄 수 있지만
문맥 오류(semantic error) 같은 경우는 컴파일러가 잡아줄 수 없고, 프로그래머에게 조금 더 훈련이 필요한 부분임

 

2.12 읽기 좋은 코드를 만드는 요령

코딩 스타일에는 누가 정답이 없고, 여럿일 할 경우 합의해서 적응 하는 유연성이 중요하다

Indenting(들여쓰기), 중괄호

잘라내기 후 다시 붙여넣으면 VS는 알아서 코드 정리된 채로 붙여넣어줌

좋은 코드를 많이 봐라


댓글