선언 : 식별자를 컴파일러에게 알려주는것

extern int A;
struct A;
void foo();

정의 : 선언의 일종으로 식별자와 관련된 모든 정보를 제공하는 구문

int A;
struct A;
{
	int data;
};
void foo()
{
	printf("foo");
}

할당 : 메모리에 데이터를 저장하는 것

int A;
A = 10; //할당
int* p = &A; //초기화