[Powered by Google Translate] 함수는 더 큰 프로그램 내에서 사용되는 코드의 섹션 아르
특정 작업을 수행 할 수 있습니다.
또한, 절차, 서브 루틴, 그리고 subprograms로 알려져 있습니다
그들은 정말 프로그램 내에서 단지 미니 프로그램이되기 때문입니다.
당신은 눈치 채지 못할 수도 있지만,
당신은 C로 프로그래밍 한 경우 당신은 가장 확실히 이미 기능을 사용했습니다
당신이 printf를 사용하여 화면에 물건을 쓸 때,
당신은 실제로 printf라는 함수를 사용하고 있습니다.
마찬가지로, GetInt 및 GetString은 CS50 당신을 위해 제공하는 기능입니다.
프로그래머로서, 우리는 여러 가지 이유로 기능을 사용합니다.
>> 화면에 서면 같은 일반적인 작업을 수행 할 기능을 갖는
프로그래밍 할 때와 입력을위한 사용자에게 메시지를 표시하는 것은 우리에게 시간을 절약 할 수 있습니다.
그것은 그 같은 일을하는 코드를 작성하는 필요가 없습니다
그들은 이미 우리를 위해 완료 때문입니다.
우리는 그 기능이 내부적으로 작동하는 방법을 정확하게 이해하는 것이도 필요가 없습니다.
대신, 우리는 우리의 프로그램에서 그들을 사용하거나 호출하는 방법을 알고 있습니다.
그것은 큰 프로그램의 기능을 작성하는 것도 도움이
당신은 다른 사람들을 사용하지 계획하지 않더라도
단지 손에 큰 작업을 나눌 수 있습니다.
당신이 에세이 to 구조를 제공 할 많은 것처럼 이러한 방법으로, 당신은 당신의 코드 구조를 제공
그리고 정말 큰 프로젝트가 여러 사람을 사용
같은 시간에 다른 부분에서 작동하는
한 사람의 작업이 끝나는 곳은 깨끗하고 또 다른 시작 이니까.
>> 함수는 일반적으로 인수 또는 매개 변수로 알려진 1 개 이상 입력, 작업
그런 다음 반환되는 출력 값으로 해당 입력을 변환.
그러나, 모든 입력 인수를 사용하지 않는 기능을 가지고 수도 있습니다
및 출력을 반환하지 않습니다.
좋아요, 충분히 보송 보송 한 것들.
의는 C에서 일부 실제 기능을 살펴 보자
>> 여기, 믿거 나 말거나하는 사각형이라는 기능이
입력의 제곱을 계산합니다.
의 그것의 구문을 해부 보자.
이 함수에 처음 보는 단어, INT,
함수의 반환 유형을 지정, 그, 함수의 출력의 C 유형입니다.
이 기능은 유형 INT와 값을 출력합니다.
당신이 볼 다음 단어는이 경우 사각형 함수의 이름입니다.
적절하게 기능을 명명하는 것은 특히 중요합니다
아마도 함수가 무엇을 가장 눈에 띄는 문서입니다 때문입니다.
그것은이 기능 열려라 참깨 나 booyah 이름을 근사 할 수 있습니다
하지만 그건 우리에게 함수가 한 일에 대해 아무 것도 말해주지 않을 거요.
>> 함수 이름이 함수 인수로 입력을 온 후.
그들은 괄호의 집합 내부에 나열되어 있습니다
자신의 유형 및 함수의 본문 내에서 사용할 수있는 이름을 모두 갖추고 있습니다.
광장은 광장에 단 1 인자, INT 소요
가 내가 이름 x를 제공하기로 결정했습니다.
이 함수의 선언 또는 프로토 타입을 끝납니다.
함수의 나머지 부분을 중괄호로 둘러싸는
, 시작과 함수 몸체의 끝을 나타냅니다
함수 자체의 정의.
광장은 아주 간단 기능입니다.
우리가해야 할 일은 그 자체에 x를 곱이기 때문에 그것은 단, 1 줄 있어요.
단어 리턴 출력 값을 지정하고 함수의 끝을 트리거합니다.
광장 기능을 사용하기 위해, 우리는 적절한 입력을 제공해야합니다
다음 출력을 캡처합니다.
여기, 당신은 그렇게 할 몇 가지 방법을 참조하십시오.
우리는 6 같은 원시 INT에 전달할 수 있습니다, 또는 우리는 같은 변수에 전달할 수 있습니다.
때마다 우리는 공평 전화합니다
우리는 변수에 출력을 캡처 한 다음 인쇄 할 수 있습니다.
그러나, 우리는 변수에 반환 값을 저장하고 인쇄 할 필요가 없습니다.
우리처럼 우리는 printf에 직접 보낼 수 때 광장 10,
하지만 우리는 공평 (10)의 반환 값에 액세스 할 수없는 것을 의미
다른 코드 인치
의 다른 간단한 예를 들어 보자.
>> 이 시간, 우리는 함께 우리가 함수가 어떻게 생겼는지 볼 수는 2 수레를 합계합니다
그 대신 1 2 입력을 가지고 때.
당신이 볼 수 있듯이, 그것은 많은 차이가 있습니다.
우리가해야할 일은, 2 인자, B라는 수레에 추가합니다
첫 번째 인수에서 분리 쉼표를 사용하여 인수 목록, 역부족.
그럼, 광장과 합 기능 이해하​​기 매우 쉬운
그들은 당신이 수학 수업 시간에 본 적이있는 기능에 해당니까.
자, 약간의 차이가 있습니다 기능을 살펴 보도록하겠습니다.
대신 값을 반환, 이건 상태를 수정합니다.
이것은 부작용 것으로 알려져 있습니다.
이 프로그램에서, printf_fudd_style 기능
우리가 전에 무효 보지 못하는 반환 형식이 있습니다.
>> 플레이는 함수가 아무것도 반환하지 않는 그런 말을하는 데 사용됩니다.
유형 무효 대한 변수가 없습니다
당신은 printf_fudd_style 같은 함수에서 무언가를 반환하려고 그렇게하면
컴파일러는 당신 소리 것입니다.
printf_fudd_style 내부, 우리는 함수가 아직 작업을 수행하는 동안 알
즉, WS 모든 R을 전환
함수의 포인트는, 화면에 문자열을 수정 한 다음 인쇄하는 것입니다
프로그램의 상태를 변경하는 대신 결과를 반환.
이 기능을 사용하면, 매우 우리의 광장과 금액 함수를 사용하여 마치
우리는 변수에 결과를 저장하거나 다른 함수에를 통과하지 못한 경우를 제외하고
의 말을 할 결과가 없습니다 때문입니다.
그럼, 우리가 컴파일 및 엘머 퍼드 프로그램을 실행할 때,
그 "당신은 야비한 토끼!"참조 오른쪽으로 변환됩니다
"당신은 wascally wabbit!"
>> 마지막으로, 토론 가치가 1 개 기능이있어
이후 당신은, 당신은 작성한 모든 C 프로그램에서 메인을 사용하고 있습니다.
메인이 훨씬 다른 같은 기능입니다.
그것은 반환 형식, 이름, 인수의 목록, 그리고 몸 있어요.
메인의 반환 유형은 항상 정수입니다
이 정수는이 종료 될 때 프로그램의 상태를 통신하는 데 사용됩니다.
>> 이 성공적으로 실행습니까, 아니면 오류로 인해 조기 마감 한거죠?
제로로 돌아, 성공적인 실행을 나타냅니다
및 0이 아닌 값을 반환하면 오류를 나타냅니다.
당신이 작성할 프로그램의 종류에 따라,
다른 오류에 대해 서로 다른 코드를 반환하는 것은 도움이 될 수 있습니다
나중에 프로그램을 사용하는 사람들을위한.
전원 인수가 좀 더 복잡합니다.
>> 인수 목록도 비어있을 수 있습니다
있는 우리는 괄호 사이에 빈 공간을 작성하여 표시
정수 및 문자 * s의 배열 :하거나 목록 2 인자를 가질 수 있습니다.
프로그램을 사용하고자 할 때 다음이 사용됩니다
프로그램이 호출 될 때 인수는 명​​령 줄에서에서 통과 시켰습니다.
INT 인수는 일반적으로 argc라고합니다
그리고 변수는 argv로 알려진 숯불 * 배열의 동일한 길이입니다.
변수는 argv는 프로그램에 전달 된 명령 줄 인수를 포함하고 있습니다.
또 다른 한마디로, 우리는 더 자세히이 변수를 사용하는 방법에 대해 얘기하자.
지금, 당신은 주요 두 방법을 선언 자유롭​​게 할 수 있습니다.
나는 일반적으로 더 인수, 가능한 경우에, 짧은쪽으로 흘러 쓰기를 선택합니다.
>> 이제 함수를 작성하는 방법을 알고,
당신은 더 크고 더 복잡한 프로그램을 개발하는 길에 잘하고 있습니다.
내 이름은 네이트 Hardison입니다. 이 CS50입니다.