• 함수와 2차원 배열

함수에 2차원 배열을 매개변수로 넣는것에 대해 설명하는 부분

 

함수의 원형 부분에 2차원 배열의 자료형을 기술할때 행의 개수는 필수로 입력하는게 핵심이다

7

https://ddidding.tistory.com/31

더블포인터에 이차원 배열의 이름이 대입되지 않는다 항목과 비슷한 개념이다

 


  • 함수와 문자열

문자열을 매개변수로 넣으려면 문자열의 첫번째 주소를 넣는다

C 스타일 문자열 예시

 

 


  • 함수와 구조체

구조체는 작성에 따라 메모리가 작을수도 있고 클수도있다

Test를 호출했을 경우 a가 복사되어 st에 대입된다

지금은 a의 크기가 작기에 이렇게 pass by value를 사용해도 괜찮지만

만약 a 크기가 크다면 이 복사과정이 부담이 될 수 있다

 

그래서 주소를 전달해 줄 수 있다

주소를 넘기는 방식중 passing by reference를 C++에서 제시한다고 한다

이건 뒤에 나오니까 뒤에서 정리한다

 

 


  • 함수와 std::array

stl array를 매개변수로 사용하고 Range based for loop를 사용하여 출력

 

 


  • 재귀호출

함수가 자기 자신을 호출할 수 있다 이걸 재귀호출이라 한다

 

간단한 로직은 if문을 통해 끝내는지, 자기자신을 호출하는지 분기를 나눈다

간단한 계승기능

위처럼 재귀함수는 for문으로도 서로 변환이 가능하다

 

재귀함수는 간결한 코드로 표현이 가능하나 스택에 계속 데이터가 쌓여 반복이 커진다면 stack over flow가 발생한다

 

알맞은 때에 사용해야 한다. 이 알맞은 때는 경험으로 이루어지면 될듯싶다

+ Recent posts