c++ 함수 / 전역 변수 / 지역 변수 / 매개 변수


c++ 함수

#include<iostream>
#include<stdio.h>

int main(){
     int itemCnt = 0;
     int money = 100;

     itemCnt++;
     money -= 10;
     std::cout << "아이템을 구매했습니다" << std::endl;
     std::cout << "아이템 개수"<<itemCnt << std::endl;
     std::cout << "잔액" << money << std::endl;

}

이렇게 메인 함수에서 쓸수있지만
아이템 수가 많아지고 종류가 많아지면 많아질수록
메인 함수에서는 복잡해서
코드 보기가 용이하지 않을테다

그래서 뭐가 필요하냐?

또 다른 함수가 필요하다
'아이템만 사는 함수'가 필요하다

그래서 어떻게 해주냐면

#include <iostream>
#include<stdio.h>

void buyItem();

int main(){

}

void buyItem(){

}

main 함수는 그냥 buyItem이라는 함수를 불러오기만 하고 실행을 시키면 되는것이다

#include <iostream>
#include<stdio.h>

void buyItem();

int main(){
     int itemCnt = 0;
     int money = 100;
}

void buyItem(){
     itemCnt++;
     money -= 20;
     std::cout << "아이템을 구매했습니다" <<std::endl;
     std::cout << "아이템 개수 : " << itemCnt << std::endl;
     std::cout << "잔액 : " << money << std::endl;
}

이러면 빨간줄이 걸린다.

왜 그러나면 main 함수에서 정의된 itemCnt는 buyItem() 이라는 함수안에서 정의가 안되었기 때문이다

그래서 우리가 전역 변수 global variable을 선언해주면 된다.

#incldue <iostream>
#include<stdio.h>

void buyItem();

int itemCnt;
int money ;  // 전역변수 / global variable

int main(){
   
     buyItem();

     buyItem(); // buyItem() 함수의 호출

}

void buyItem(){
     itemCnt++;
     money -= 20;
     std::cout << "아이템을 구매했습니다" <<std::endl;
     std::cout << "아이템 개수 : " << itemCnt << std::endl;
     std::cout << "잔액 : " << money << std::endl;
}

그러면 전역 변수를 만들면 buItem은 빨간줄이 안그어진다.

#include<iostream>
#include<stdio.h>

void buyItem();

int itemCnt;
int money;
int cost

//cost 는 전역변수로 한다.
//cost는 값을 바꿀수 있는 변수이다.

int main(){
     money -= cost;
     buyItem();
     buyItem(); // buyItem() 함수의 호출

}

void buyItem(){
     itemCnt++;
     money -= moeny;
     std::cout << "아이템을 구매했습니다" <<std::endl;
     std::cout << "아이템 개수 : " << itemCnt << std::endl;
     std::cout << "잔액 : " << money << std::endl;
}


-

#include<iostream>
#include<stdio.h>

void buyItem();

int itemCnt =0;
int money=100;

//cost 는 전역변수로 한다.
//cost는 값을 바꿀수 있는 변수이다.

int main(){
     money -= cost;
     buyItem();
     buyItem(); // buyItem() 함수의 호출

}

void buyItem(int cost, int cnt){
     itemCnt++;
     money -= cost;
     std::cout << "아이템을 구매했습니다" <<std::endl;
     std::cout << "아이템 개수 : " << itemCnt << std::endl;
     std::cout << "잔액 : " << money << std::endl;
}

매개변수는
buyItem() 안에 있는 cost , cnt 이다.


함수의 반환은

댓글

이 블로그의 인기 게시물

c++ 랜덤 숫자 생성하기 / 컴퓨터 난수 시드 설정

(오라클) View(뷰) + where/order by/like/is/() / in 사용방법 예제

(오라클) Sequence/시퀸스의 활용과 개념