일반적인 문제 C 언어에서 함수 선언을 이해하는 방법

C 언어에서 함수 선언을 이해하는 방법

Mar 06, 2019 pm 02:31 PM
함수 선언

C 언어 함수 선언 형식은 함수 정의에서 함수 본문을 제거하고 세미콜론을 추가하는 방식으로 구성됩니다. 그 목적은 함수가 정의되지 않은 상태에서 프로그램이 해당 함수를 사용하여 프로그램에서 오류를 보고하는 것을 방지하는 것입니다.

C 언어에서 함수 선언을 이해하는 방법

C 언어 코드는 위에서 아래로 실행되는 것이 원칙입니다. 함수 정의는 함수 호출 이전에 나타나야 하며, 그렇지 않으면 오류가 보고됩니다. 하지만 실제 개발에서는 함수를 정의하기 전에 사용하는 경우가 많으며, 이 경우 미리 선언해 주어야 합니다. 다음 기사에서는 함수 선언에 대한 지식을 자세히 소개할 예정인데, 이는 모든 사람에게 어느 정도 참고 효과가 있을 것입니다.

【추천 강좌: C 언어 튜토리얼

함수 선언

소위 선언(Declaration)은 컴파일러에게 이 함수를 사용하겠다고 알리는 것입니다. 지금은 해당 정의를 찾을 수 없지만 오류를 보고하지 마십시오. 정의는 나중에 추가됩니다.
함수 선언의 형식은 매우 간단합니다. 이는 함수 정의에서 함수 본문을 제거하고 세미콜론을 추가하는 것과 같습니다. 아래와 같이:

返回值类型  函数名( 类型 形参, 类型 形参… );
로그인 후 복사

정식 매개변수 없이 데이터 유형만 작성할 수도 있습니다.

返回值类型  函数名( 类型, 类型…);
로그인 후 복사

함수 선언이 주어집니다. 함수 이름, 반환 값 유형, 매개변수 목록(매개변수 유형) 및 기타 함수와 관련된 정보를 함수 프로토타입이라고 합니다.
함수 프로토타입은 함수와 관련된 정보를 컴파일러에게 알려주어 함수의 존재와 존재하는 형태를 컴파일러에게 알려줍니다. 함수가 임시로 정의되지 않더라도 컴파일러는 이를 어떻게 사용할지 알고 있습니다.
함수 선언을 통해 함수 정의는 다른 파일, 정적 링크 라이브러리, 동적 링크 라이브러리 등 어디에나 나타날 수 있습니다.

예:

#include <stdio.h>
// 函数声明
long factorial(int n); 
//也可以写作 long factorial(int);
long sum(long n); //也可以写作 long sum(long);
int main(){
printf("1!+2!+...+9!+10! = %ld\n", sum(10));return 0;
}
//求阶乘
long factorial(int n)
{
int i;
long result=1;
for(i=1; i<=n; i++){
result *= i;
}
return result;
}
// 求累加的和
long sum(long n)
{int i;
long result = 0;
for(i=1; i<=n; i++)
{
//嵌套调用
result += factorial(i);
}
return result;
}
로그인 후 복사

실행 결과는 1!+2!+...+9!+10! = 4037913

우리는 printf(), puts(), scanf(), getchar를 사용한다는 것을 알고 있습니다. ( ) 및 기타 함수는 stdio.h 헤더 파일을 도입해야 합니다. 많은 초보자는 stdio.h에 함수 정의(즉, 함수 본문)가 포함되어 있고 헤더 파일이 있는 한 프로그램이 실행될 수 있다고 생각합니다. 실제로는 그렇지 않습니다. 헤더 파일에는 함수 정의가 아닌 함수 선언이 포함되어 있습니다. 함수 정의는 모두 시스템 라이브러리에 있습니다. 시스템 라이브러리 없이 헤더 파일만 있으면 링크 중에 오류가 보고됩니다. 프로그램이 전혀 실행되지 않습니다.

요약: 위 내용은 이 글의 전체 내용입니다. 모든 분들께 도움이 되었으면 좋겠습니다.

위 내용은 C 언어에서 함수 선언을 이해하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
2 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
2 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
2 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

C++ 함수 선언의 기본 매개변수: 선언 및 사용법에 대한 포괄적인 분석 C++ 함수 선언의 기본 매개변수: 선언 및 사용법에 대한 포괄적인 분석 May 02, 2024 pm 03:09 PM

C++의 기본 매개변수는 함수 매개변수의 기본값을 지정하는 기능을 제공하여 코드 가독성, 단순성 및 유연성을 향상시킵니다. 기본 매개변수 선언: 함수 선언에서 매개변수 뒤에 "=" 기호를 추가하고 그 뒤에 기본값을 추가합니다. 사용법: 함수 호출 시 선택적 매개변수가 제공되지 않으면 기본값이 사용됩니다. 실제 사례: 두 숫자의 합을 계산하는 함수입니다. 한 매개변수는 필수이고 다른 매개변수는 선택사항이며 기본값은 0입니다. 장점: 향상된 가독성, 향상된 유연성, 상용구 코드 감소. 참고: 선언에서만 지정할 수 있고 끝에 있어야 하며 유형이 호환되어야 합니다.

C++ 함수의 선언 및 정의 순서는 어떤 영향을 줍니까? C++ 함수의 선언 및 정의 순서는 어떤 영향을 줍니까? Apr 19, 2024 pm 01:42 PM

C++에서 함수 선언 및 정의의 순서는 컴파일 및 연결 프로세스에 영향을 미칩니다. 가장 일반적인 방법은 선언을 먼저 하고 정의를 나중에 하는 것입니다. 둘 다 동시에 존재하는 경우 "forwarddeclaration"을 사용하여 정의를 배치할 수도 있습니다. 컴파일러는 선언을 무시하고 정의만 사용합니다.

C++ 함수 선언과 정의의 차이점은 무엇입니까? C++ 함수 선언과 정의의 차이점은 무엇입니까? Apr 18, 2024 pm 04:03 PM

함수 선언은 컴파일러에게 함수의 존재를 알리고 유형 검사에 사용되는 구현을 포함하지 않습니다. 함수 정의는 함수 본문을 포함하여 실제 구현을 제공합니다. 주요 구별 기능에는 목적, 위치, 역할이 포함됩니다. 효율적이고 유지 관리가 가능한 C++ 코드를 작성하려면 차이점을 이해하는 것이 중요합니다.

C++ 함수 선언 및 정의 C++ 함수 선언 및 정의 Apr 11, 2024 pm 01:27 PM

C++에서는 함수 선언과 정의가 필요합니다. 함수 선언은 함수의 반환 유형, 이름 및 매개변수를 지정하는 반면, 함수 정의는 함수 본문과 구현을 포함합니다. 먼저 함수를 선언한 다음 필요한 매개변수를 전달하여 프로그램에서 함수를 사용하십시오. return 문을 사용하여 함수에서 값을 반환합니다.

C++ 컴파일 오류: 함수 호출이 함수 선언과 일치하지 않습니다. 어떻게 해결합니까? C++ 컴파일 오류: 함수 호출이 함수 선언과 일치하지 않습니다. 어떻게 해결합니까? Aug 22, 2023 pm 12:39 PM

C++ 컴파일 오류: 함수 호출이 함수 선언과 일치하지 않습니다. 어떻게 해결합니까? C++ 프로그램을 개발할 때 필연적으로 컴파일 오류가 발생합니다. 일반적인 오류 중 하나는 함수 호출이 함수 선언과 일치하지 않는다는 것입니다. 이러한 종류의 오류는 C++ 프로그래머들 사이에 널리 존재합니다. 함수 선언의 정확성에 주의를 기울이지 않기 때문에 컴파일 문제로 이어지며, 이는 결국 문제를 해결하는 데 시간과 에너지를 낭비하고 개발 효율성에 영향을 미칩니다. 이 실수를 피하는 방법은 몇 가지 규범과 표준 관행을 따라야 합니다. 아래에서 살펴보겠습니다. 함수 호출과 함수 선언이란 무엇입니까?

C++ 함수 선언의 [[nodiscard]]: 반환 값 무시의 결과 이해하기 C++ 함수 선언의 [[nodiscard]]: 반환 값 무시의 결과 이해하기 May 01, 2024 pm 06:18 PM

[[nodiscard]] 속성은 함수의 반환 값을 무시해서는 안 된다는 것을 나타냅니다. 그렇지 않으면 초기화되지 않은 예외, 메모리 누수, 잘못된 계산 결과 등의 결과를 방지하기 위해 컴파일러 경고나 오류가 발생합니다.

C++ 함수 선언의 세부 구문: 구문 분석부터 표준 사용법 분석까지 C++ 함수 선언의 세부 구문: 구문 분석부터 표준 사용법 분석까지 Apr 30, 2024 pm 02:54 PM

C++ 함수 선언 구문은 returnTypefunctionName(parameterType1parameterName1,...,parameterTypeNparameterNameN);입니다. 여기서 returnType은 반환 유형이고, functionName은 함수 이름이고, 매개변수 유형은 매개변수 유형이고, 매개변수 이름은 매개변수 이름입니다. 세미콜론.

C++ 함수 선언에 대한 단계별 가이드: 모든 단계를 다루는 자세한 지침 C++ 함수 선언에 대한 단계별 가이드: 모든 단계를 다루는 자세한 지침 May 02, 2024 pm 04:33 PM

함수 선언은 함수 본문을 제공하지 않고 함수가 존재함을 컴파일러에 알려줍니다. 단계는 다음과 같습니다: 함수 반환 유형 지정(반환 값이 없는 경우 무효) 함수 이름 정의 및 함수 매개변수 선언(선택 사항, 데이터 유형 및 식별자 포함) ​​세미콜론