-
[Programming language] 선언 & 정의 차이점.etc 2021. 2. 24. 17:52
가장 큰 차이
두 용어의 가장 큰 차이는 메모리 할당 여부이다.
이름만 지정한다면 선언이고 메모리가 할당되면 정의이다.
선언(Declaration)
컴파일러에게 변수의 정보만 줌
메모리사용(X)
전혀 메모리를 사용하지 않는 것은 아니고, 선언 그 자체의 메모리는 사용함. 즉 선언만으로는 - 선언 그 자체에 대한 메모리를 사용하지만 - 그 선언이 가리키는 실체에 대해 메모리 할당하지는 않는다는 것.
비유하자면 건물의 명칭은 있지만, 실제 건물을 짓지는 않은 상황.
예시: extern, 함수의 선언(void read_file(char \* file_name;)), typedef, #define
정의(Definition)
컴파일러에게 실제로 변수를 생성하도록 함
예시: 변수(선언과 동시에 정의), struct
'.etc' 카테고리의 다른 글
[채용설명회 요약] (0) 2021.03.09 [vimrc] 한번에 끝내는 vimrc 세팅 (0) 2021.02.25 [티스토리] 코드블럭 스타일 주기 (0) 2021.01.05 [error]자주 나는 에러 모음(2) (0) 2020.12.04 [42seoul] ssh에서 leaks 체크하기 (0) 2020.11.12