본문 바로가기

카테고리 없음

프로그래밍 C언어 (7)

반응형

chapter. 함수

-----------------------------------------------------------------------------------------------------

<이론 : 큼직큼직 중요포인트!!>

​함수란 "명령어들을 묶어 이름을 붙인 것"

  • 이미 정의된 함수를 실행하는 것을 호출이라고 한다
  • 어떤 함수에서나 접근 가능한 변수를 '전역변수'라고 한다
  • 정보를 전달해주는 소괄호안의 내용을 '매개변수'라고 한다 ※매개변수는 다음과 같이 그 자료형과 함께 소괄호 안에 쓴다
  • 함수를 호출할 때 넘겨주는 수를 '인수'라고 한다
  • 매개변수가 여러 개 일때는 다음과 같이 쉼표로 구분한다(대신 모든 매개변수 앞에 자료형을 붙여야한다_)

함수의 반환

  • 함수는 코드를 묶는 기능 외에 어떤 값을 돌려주는 기능도 할 수 있다.
  • retrun문을 사용하는 이런 작업을 할 수 있다.
  • 반환한다 또는 리턴한다
  • void는 리턴 값이 없다는 뜻 ( void가 들어갈 자리에 다른 자료형을 넣으면 그 자료형의 값을 리턴할 수 있다)
  • return함수가 여러개 있다면 하나라도 만나는 즉시 함수는 종료되고 그 아래 명령들은 실행되지 않는다
  • void 함수에서도 마찬가지로 return문을 쓸 수 있다 대신 어떤 값을 리턴하지 않고 함수를 종료하는 역할만한다.

call-by-value,call-by-address, call-by-reference

-변수를 넘겨주는 것과 변수의 주좃값을 넘겨주는 것

call-by-value

-> call by value(값에 의한 호출) -> 호출할 때 값만 복사해서 넘겨준다

-> a,b의 값이 새로운 변수인 x,y에 복사되었고 x,y의 값을 바꿔봤자 이들은 그냥 다른 변수일 뿐기에 a,b의 값은 바뀌지 않는다

call-by-address

​-> 주소에 의한 호출 포인터의 등장으로 사용

-> px가 가리키는 변수와 py가 가르키는 변수를 서로 스왑하면 된다

프로토 타입

  • 프로토타입은 " 함수의 모양이 이런 것이다"라는 것을 미리 알려주는 것을 말한다

  • 프로토타입을 만들어 놓으면 함수를 나중에 가서 정의할 수 있다

  • 컴파일러에게 "이런이름의 함수가 있고 이렇게 생겼다"라는 정보만 알려주고 함수의 내용물은 나중으로 빼는 것\

  • 이렇게 함수의 리턴타입 이름 매개변수까지만 적은 후 중괄호 없이 세미콜론으로 그냥 끝마치면 된다

  • 프로토타입은 매개변수의 자료형만 적고 이름은 적지 않아도 된다 (ex void walk(int))

재귀함수

-> 자기 자신이 포함되어 있는 것을 재귀 라고 한다

-> 미처 종료되기도 전에 다시 자기 자신을 호출하는 과정 반복

-> 이렇게 끝을 정해주어 한계 값을 만들 수 있다

​​

팩토리얼 !

žn! = 1 x 2 x 3 x … x (n-1) x n

n! = (n-1)! x n

-> 팩토리얼을 중요하니 잘 알아두고

-> 첫번째에서 3번째 줄까지 암기하자!!!!

반응형