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

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

清浅
풀어 주다: 2020-09-10 13:16:12
원래의
29868명이 탐색했습니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿