2.0 C언어를 소개합니다.

ARA JO·2022년 6월 27일
0

#include 전처리기

  • preprocessor instruction
  • 컴파일하기 전에

유명문구 복사 붙여넣기라고 생각하자.

변수가 편리한 이유

x+y=z
cpu가 ram과 통신할때는 주소값을 주고 받으며 통신 한다.
변수를 통해 프로그래머가 주소를 알 필요없이 메모리에 직접 접근하는 것처럼 제공한다.

자료형이 필요한 이유

자료형 (ex.int, short, char, double, float...)
변수가 어떠한 형태인지 미리 지정해주는 것.

숫자?
1. 정수 (integer)
2. 실수 (real numbers)
...

cpu에게 연산을 요청할 때, 이 자료형이 사용하는 메모리 사이즈에 대한 정보를 알려주고 그에 맞게 연산할 수 있도록 한다.

변수를 사용하는 방법

내부적으로 미리 메모리를 얼마나 사용할지 잡는 것이 좋기 때문에
중간에 선언한 변수도 위로 끌어올려서 정리한다.

int x;
int y;

x = 1;
y = 2;

int z;
z = x + y;

보다는 아래처럼 하는 것이 처음에는 좋다

int x;
int y;
int z;

x = 1;
y = 2;

z = x + y;

함수의 Prototyping, declaration(선언)

#include <stdio.h>

void hello(void); // prototyping, function declaration

int main() 
{
	hello();
    return 0;
}

void hello(void) // function definition
{
	printf("hello!");
    return;
}

링킹하는 과정 중에 선언된 부분에 대한 정의를 찾아서 연결해 준다.

디버거 사용법

상태(state): 변수가 어떤 값을 갖고있나.

step into -> 한줄 한줄... 한발한발 딛는다.

step over -> 그냥 지나간다. 넘어버리기
step intostep over

문법오류(Syntax) / 문맥오류(Semantic)

  • 문맥오류는 컴파일러가 구분할 수 없다. 최대한 컴파일러가 오류가 있다는 것을 알아차릴 수 있게 코드를 짤 수 있도록 하자

읽기 좋은 코드

profile
Sin prisa pero sin pausa (서두르지 말되, 멈추지도 말라)

0개의 댓글