대답 1:

C 언어와 관련하여 선언은 컴파일러에게 함수 또는 메소드의 이름, 유형 및 서명을 알리는 것을 말합니다.

예 :

/ * 기능 선언 * /
<데이터 유형> FooBar (데이터 유형을 가진 인수 목록);

여기서는 세미콜론으로 끝나는 단일 행 코드이며 컴파일러 이름, 인수 및 함수의 반환 유형을 알려줍니다.

반면, 정의는 해당 함수의 실제 내용 (본문)을 정의하는 것입니다. 여기에는 모든 코드와 논리 및 모든 기능이 실제로 포함되는 기능이 포함됩니다.

예 :

/ * 정의 기능 * /
<데이터 유형> FooBar (데이터 유형이 포함 된 인수 목록)
{
  / * 지역 변수 선언 * /
  / *
   실제 프로그램 로직을 포함하는 코드 라인
  * /
   <2 번 라인에 데이터 타입이 정의 된 것>을 반환;
}

C에서는 함수가 사용되기 전에 선언을 수행해야하므로 컴파일러는 오류를 발생시키지 않습니다. 함수 정의는 프로그램의 현재 범위 내 어디든지 가능합니다.

감사합니다


대답 2:

선언은 컴파일러에 유형, 변수 크기 및 매개 변수, 함수 반환 유형을 미리 알려줍니다.

선언 중에는 메모리 할당이 발생하지 않습니다.

예 : int j;

정의 : 변수 / 함수가 무엇을하는지, 어떤 가치를 취할 것인지 정의합니다. 실제 메모리 할당은 정의 후에 발생합니다.

예 : j = 3;


대답 3:

선언은 단지-소스 코드에서 나중에 정의를 찾도록 컴파일러에 지시하는 것입니다. 일반적으로 헤더 파일 (.h 또는 .hpp 확장자)에 있으며 소스 (c 또는 cpp 확장자)는 일반적으로 정의를 갖습니다. 선언의 목적은 함수 또는 클래스를 사용하는 프로그래머가 함수 또는 클래스를 사용할 수 있도록 선언하는 것입니다. 정의를 필요로하지 않습니다. 소스 코드는 컴파일러에게 실제로 무엇을 수행하는지 알려줍니다. 함수 / 클래스는해야하지만 선언은 함수가 반환하는 것, 함수가 취하는 인수 및 함수의 이름을 알려주므로 나중에 코드에서 함수를 호출 할 수 있습니다. 지금까지 명확하지 않은 경우, 정의에는 함수를 정의하는 소스 코드 (따라서 "정의"라는 단어)가 있습니다. 두 가지 예는 다음과 같습니다.

//선언
int doSomething (int x, int y);

//정의
int doSomething (int x, int y)
{
return (x * y);
}

대답 4:

선언은 단지-소스 코드에서 나중에 정의를 찾도록 컴파일러에 지시하는 것입니다. 일반적으로 헤더 파일 (.h 또는 .hpp 확장자)에 있으며 소스 (c 또는 cpp 확장자)는 일반적으로 정의를 갖습니다. 선언의 목적은 함수 또는 클래스를 사용하는 프로그래머가 함수 또는 클래스를 사용할 수 있도록 선언하는 것입니다. 정의를 필요로하지 않습니다. 소스 코드는 컴파일러에게 실제로 무엇을 수행하는지 알려줍니다. 함수 / 클래스는해야하지만 선언은 함수가 반환하는 것, 함수가 취하는 인수 및 함수의 이름을 알려주므로 나중에 코드에서 함수를 호출 할 수 있습니다. 지금까지 명확하지 않은 경우, 정의에는 함수를 정의하는 소스 코드 (따라서 "정의"라는 단어)가 있습니다. 두 가지 예는 다음과 같습니다.

//선언
int doSomething (int x, int y);

//정의
int doSomething (int x, int y)
{
return (x * y);
}

대답 5:

선언은 단지-소스 코드에서 나중에 정의를 찾도록 컴파일러에 지시하는 것입니다. 일반적으로 헤더 파일 (.h 또는 .hpp 확장자)에 있으며 소스 (c 또는 cpp 확장자)는 일반적으로 정의를 갖습니다. 선언의 목적은 함수 또는 클래스를 사용하는 프로그래머가 함수 또는 클래스를 사용할 수 있도록 선언하는 것입니다. 정의를 필요로하지 않습니다. 소스 코드는 컴파일러에게 실제로 무엇을 수행하는지 알려줍니다. 함수 / 클래스는해야하지만 선언은 함수가 반환하는 것, 함수가 취하는 인수 및 함수의 이름을 알려주므로 나중에 코드에서 함수를 호출 할 수 있습니다. 지금까지 명확하지 않은 경우, 정의에는 함수를 정의하는 소스 코드 (따라서 "정의"라는 단어)가 있습니다. 두 가지 예는 다음과 같습니다.

//선언
int doSomething (int x, int y);

//정의
int doSomething (int x, int y)
{
return (x * y);
}

대답 6:

선언은 단지-소스 코드에서 나중에 정의를 찾도록 컴파일러에 지시하는 것입니다. 일반적으로 헤더 파일 (.h 또는 .hpp 확장자)에 있으며 소스 (c 또는 cpp 확장자)는 일반적으로 정의를 갖습니다. 선언의 목적은 함수 또는 클래스를 사용하는 프로그래머가 함수 또는 클래스를 사용할 수 있도록 선언하는 것입니다. 정의를 필요로하지 않습니다. 소스 코드는 컴파일러에게 실제로 무엇을 수행하는지 알려줍니다. 함수 / 클래스는해야하지만 선언은 함수가 반환하는 것, 함수가 취하는 인수 및 함수의 이름을 알려주므로 나중에 코드에서 함수를 호출 할 수 있습니다. 지금까지 명확하지 않은 경우, 정의에는 함수를 정의하는 소스 코드 (따라서 "정의"라는 단어)가 있습니다. 두 가지 예는 다음과 같습니다.

//선언
int doSomething (int x, int y);

//정의
int doSomething (int x, int y)
{
return (x * y);
}

대답 7:

선언은 단지-소스 코드에서 나중에 정의를 찾도록 컴파일러에 지시하는 것입니다. 일반적으로 헤더 파일 (.h 또는 .hpp 확장자)에 있으며 소스 (c 또는 cpp 확장자)는 일반적으로 정의를 갖습니다. 선언의 목적은 함수 또는 클래스를 사용하는 프로그래머가 함수 또는 클래스를 사용할 수 있도록 선언하는 것입니다. 정의를 필요로하지 않습니다. 소스 코드는 컴파일러에게 실제로 무엇을 수행하는지 알려줍니다. 함수 / 클래스는해야하지만 선언은 함수가 반환하는 것, 함수가 취하는 인수 및 함수의 이름을 알려주므로 나중에 코드에서 함수를 호출 할 수 있습니다. 지금까지 명확하지 않은 경우, 정의에는 함수를 정의하는 소스 코드 (따라서 "정의"라는 단어)가 있습니다. 두 가지 예는 다음과 같습니다.

//선언
int doSomething (int x, int y);

//정의
int doSomething (int x, int y)
{
return (x * y);
}

대답 8:

선언은 단지-소스 코드에서 나중에 정의를 찾도록 컴파일러에 지시하는 것입니다. 일반적으로 헤더 파일 (.h 또는 .hpp 확장자)에 있으며 소스 (c 또는 cpp 확장자)는 일반적으로 정의를 갖습니다. 선언의 목적은 함수 또는 클래스를 사용하는 프로그래머가 함수 또는 클래스를 사용할 수 있도록 선언하는 것입니다. 정의를 필요로하지 않습니다. 소스 코드는 컴파일러에게 실제로 무엇을 수행하는지 알려줍니다. 함수 / 클래스는해야하지만 선언은 함수가 반환하는 것, 함수가 취하는 인수 및 함수의 이름을 알려주므로 나중에 코드에서 함수를 호출 할 수 있습니다. 지금까지 명확하지 않은 경우, 정의에는 함수를 정의하는 소스 코드 (따라서 "정의"라는 단어)가 있습니다. 두 가지 예는 다음과 같습니다.

//선언
int doSomething (int x, int y);

//정의
int doSomething (int x, int y)
{
return (x * y);
}

대답 9:

선언은 단지-소스 코드에서 나중에 정의를 찾도록 컴파일러에 지시하는 것입니다. 일반적으로 헤더 파일 (.h 또는 .hpp 확장자)에 있으며 소스 (c 또는 cpp 확장자)는 일반적으로 정의를 갖습니다. 선언의 목적은 함수 또는 클래스를 사용하는 프로그래머가 함수 또는 클래스를 사용할 수 있도록 선언하는 것입니다. 정의를 필요로하지 않습니다. 소스 코드는 컴파일러에게 실제로 무엇을 수행하는지 알려줍니다. 함수 / 클래스는해야하지만 선언은 함수가 반환하는 것, 함수가 취하는 인수 및 함수의 이름을 알려주므로 나중에 코드에서 함수를 호출 할 수 있습니다. 지금까지 명확하지 않은 경우, 정의에는 함수를 정의하는 소스 코드 (따라서 "정의"라는 단어)가 있습니다. 두 가지 예는 다음과 같습니다.

//선언
int doSomething (int x, int y);

//정의
int doSomething (int x, int y)
{
return (x * y);
}