유명문구 복사 붙여넣기라고 생각하자.
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;
#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 -> 그냥 지나간다. 넘어버리기