본문 바로가기
C++

[C++] 함수

by arirang_ 2023. 2. 22.

함수 (function) 

//함수
int Add(int a, int b)
{
   return a+b;
}

//함수
int main(){

   int iData = Add(100,200);
   
   return 0;
}

프로그래밍을 실행한다는 것은 main() 함수를 호출한다는 것이다!  (제일 먼저 실행되는 함수는 mian( ) 함수이다!)

그리고 나서 main()안에 있는 또 다른 함수를 또 호출한다! (Add() 함수)

더이상 호출할 함수가 없으면 프로그래밍 종료됨! (main( ) 함수가 종료된다는 뜻)

 

프로그래밍이 종료되지 않고 반복적으로 호출되는 애들 누구?


반복문

- 조건을 주고 조건이 조건이 완료되기 전까지 코드가 일정 구간을 반복한다 

(조건에 만족시키면 일정 코드 구간을 계속 반복하여 실행함)

- for ( ) 

- while( ) 

 

for문

for(반복자 초기화; 반복자 조건 체크(참 또는 거짓); 반복자 변경){

}

//예시
for(int i=0; i<10; ++i){

}

0~9까지 총 10번의 반복문이 실행된다.

for(int i=0; i<2; ++i){
   printf("Output Test\n");
}

//결과
Output Test
Output Test

 

while문

while(조건체크){  //참이면 실행됨
...
}

-while문의 구조는 위와 같다.

int i =0;
while(i<2){
  printf("Output Test\n");
  
  ++i;
}

//결과
Output Test
Output Test

 

반복문 내부에서 쓸 수 있는 키워드

- continue;

- break;

 

 

- continue :
  반복구문을 수행하는 도중 continue를 만나면 뒷부분은 더이상 수행하지 않고 바로 조건체크 부분으로 넘어간다.
  (반복 횟수를 넘기는 것  - 밑에 수행해야하는 코드가 남았어도 조건체크 부분으로 넘어간다)

//0,1,2,3 - 홀수일 때는 출력이 되지 않도록
for(int i = 0; i<4; ++i){

   if(i % 2 ==1){
   
      continue;
    }
    printf("Output Test\n");
 }
 
 //결과
 Output Test
 Output Test

continue를 만나면 printf를 실행하지 않고 조건체크 부분으로 넘어감

 

 

- break : break를 만나자마자 반복문이 종료됨, 반복문을 나가버림

 

 

 

※ 참고

- 표준입출력함수 헤더 

#include <studio.h>         //standard input, output

- 창에 문자를 띄울 수 있는 함수들(제공된 라이브러리 함수) 

  → 이것들을 통해 반복문이 잘 돌아가고 있는지 확인해보자!

#include <studio.h>         //standard input, output

int main(){
   //창에 문자를 띄울 수 있는 함수
   printf();
   scanf();
}

 

 

- printf()

- scanf()

 

printf( )

- 콘솔 창에 출력하기.

- 정수형 타입 : %d

printf("adcdef %d \n", 10);

for(int i = 0; i < 10; ++i) {
   printf("Output i : %d \n", i);
 }
더보기

Output i : 0
Output i : 1
Output i : 2
Output i : 3
...

Output i : 9

- 실수형 타입 : %f 

printf("abcdef %f \n", 3.14f);

 

scanf( )

- 콘솔창으로 입력 받기!

int iInput = 0;
scanf_s("%d", &iInput);

 

자료 구조(Data Structure) - 어떤 구조로 데이터들을 관리할 것인가? 
- 어떻게 효율적으로 데이터들을 관리할 것인가

스택(Stack): 후입 선출 (나중에 들어온게 먼저 나간다), 선입 후출 (먼저 들어온게 나중에 나간다)

제일 먼저 놓은 접시 제일 나중에 뺄 수 있다

- 함수의 호출 방식과 유사하다!!

- 함수가 사용하는 메모리 영역

- 스택 메모리 영역

 

큐(Queue) : 선입 선출, 후입 후출 (먼저 들어온 애가 먼저 나가고, 나중에 들어온 애가 나중에 나간다)

먼저 들어온 애가 먼저 나간다

※ 코드는 명령어의 집합(메모리 영역을 조작하고 관리하는 것)이고,
    메모리는 명령어를 수행했을 때 수행에 맞춰서 동작하고 있는 곳(영역)이다.
※ 코드와 메모리는 같은 의미가 아니다! 

ex)  땅 덩어리 - 메모리
       작업 명령서 - 코드


참고 영상 - 아래 주소의 영상을 보고 정리하였습니다 :)

https://www.youtube.com/watch?v=D0SvLy5jRHA&list=PL4SIC1d_ab-aOxWPucn31NHkQvNPHK1D1&index=14

'C++' 카테고리의 다른 글

[C++] 팩토리얼 함수 구현하기  (0) 2023.02.23
Visual Studio 단축키 & 편의 사항  (0) 2023.02.23
[C++] 변수  (0) 2023.02.22
[C++] 비트 연산자  (1) 2023.02.22
[C++] 조건문  (0) 2023.01.06