728x90

코딩 8

#12. 함수 오버로딩 및 디폴트 매개변수

# 함수 오버로딩 함수를 만들때 반환타입과 매개변수를 정하여 만들어 준다. 이때 같은 기능을 하는 함수이지만, 매개변수의 타입이나 매개변수의 갯수가 달라질 때마다 매번 함수를 만들면 함수의 이름이 제각각이 되어 구분하기 힘들어진다. 그때 오버로딩을 쓰면된다. 예를들어, 더하기 함수 add가 있는데, 변수 두개를 받아서 더해주는 함수 int add(int a, int b) { return a+b; } 가 있다고 하자 근데 변수 세개를 받아서 더해주고 싶은데, 저 함수를 만들 때 매개변수를 int a, int b로 했기 때문에 불가능하다. 그렇다고 함수 int add2(int a, int b, int c) 를 만들자니 add와 add2의 구분이 어려워진다. 오버로딩은 같은 이름으로 그 함수를 정의 할 수 있..

개발 Study 2021.04.07

#11. 지역변수, 전역변수 및 메모리구조 (2)

# 지역변수, 전역변수 #10. 함수 및 메모리 구조 (tistory.com) #10. 함수 및 메모리 구조 # 함수 ( y=f(x) ) -> 재사용성이 좋기 때문에 자주 사용한다. 함수는 1. input O output O ex) y=f(x) 2. input O output X ex) srand(seed) 3. input X output O ex) rand() 4. input X output X ex) main() 네.. hyukee.tistory.com 1. 지역변수 앞에 링크에서 볼 수 있듯이, 지역변수, 매개변수는 메모리의 STACK이라는곳에 저장되며, 함수가 끝날때 그 변수는 소멸한다. 따라서 그 변수를 함수에서 선언하여도 main함수에서는 그 변수를 불러오지 못한다. 2. 전역변수 그에 반해 ..

개발 Study 2021.04.07

# 가위, 바위, 보 게임

위와 같이 가위, 바위, 보 를 내면 컴퓨터도 랜덤으로 가위, 바위, 보 중에 출력을 하고 승패를 출력해주는 프로그램이다. 이때, 승부를 판가름 할 때 다음과 같이 작성을 해보았다. 다음과 같이 컴퓨터 값이 a일때 유저값 a, b, c일때의 승패를 판별하고 컴퓨터 값이 b일때, 유저값 a, b, c를 판별하고 ... 이런식으로 코드를 짜면 위와 같이 코드가 길어질 수 있다. 따라서 좀 더 간편하게 승 무 패를 판별할 수 있도록 코드를 고민 해보면, 유저값 / 컴퓨터값 을 가위 1 / 1 바위 2 / 2 보 3 / 3 이라고 하면 유저 기준으로 승 무 패 로 나뉘었을 때, 두 값을 더하거나 뺐을 때, 승 무 패의 값이 각각 다르다면 그 값으로, 승 무 패를 판단 할 수 있다. 일단 더했을 때에는 유저 / ..

#9. do while문, for문 (반복문)

# do while 문 do while문은 기존의 while문이랑 비슷하나, do로 일단 한번 실행하고나서 while문을 진행한다. do { 코드; }while(조건) do 하고 코드를 한번 실행 시킨 뒤, while문 안의 조건을 확인하고 다시 do의 코드를 실행시킨다. while의 조건이 맞지 않아도 1번은 실행시킨다고 보면 된다. # for 문 반복 횟수를 정해서 반복 할 경우 가독성이 좋은 반복문이다. for( 변수 선언 및 초기화 ; 조건식 ; 증감식) { 코드 } 조건식이 true일 때, 작동하며 false 가 되는 순간 작동을 멈춘다. 작동 순서는 변수선언및 초기화 -> 조건식 확인 -> 코드 수행 -> 증감식 진행 -> 조건식 확인 -> 코드수행 -> 증감식 진행 -> ... 이렇게 된다...

개발 Study 2021.04.05

#8 Switch문, While문 그리고 난수

# Switch문 일종의 스위치 같이, 상수 조건에 맞는 것을 실행한다. 구문은 switch( 조건( 변수 ) ) { case 상수1 : break; // break를 쓰지 않으면, 이 케이스가 실행될 때, 아래 케이스까지 같이 실행됨. // 따라서 break문으로 switch식을 나가줘야한다. case 상수2 : break; default: break; } 이때 조건 안에 들어가는 자료형은 정수형(int형) 이어야 한다 해당 변수가 상수1의 조건에 부합되면 case 상수1을 실행한다. # While문 반복적으로 수행 할 코드가 있을 경우, 효율적 사용이 가능하다. while(조건) { 코드 } 조건이 부합하는 한 while문 안에 있는 코드는 계속해서 수행되며, 탈출방법은 두가지가 있다. 탈출1. 조건..

개발 Study 2021.04.03

#1 기본개념 및 시작

C언어 : 절차지향 언어 -> 코드가 순서대로 실행됨 ex) 프로세스1 -> 프로세스2 -> 프로세스3 장점 : 처리 속도가 빠르다 / 계산 순서나 처리 과정이 중요한 작업에서 적합 단점 : 과정 중간에 오류가 발생 할 경우 처음부터 코드를 짜야함 / 유지보수 어려움 C++ : 객체지향 언어 -> 객체 별(덩어리)로 인식하여 덩어리를 개발함 ex) 메소드1 메소드2 객체끼리 서로 상호작용하며 진행됨 장점 : 중간에 오류가 발생하거나 순서가 틀려도 일부분만 수정 / 유지보수 편리 단점 : 절차지향에 비해 속도가 느림 *실행파일 생성과정 실행파일 생성 과정 순서 코드작성 -> 전처리기 -> 컴파일 -> 어셈블러 -> 링크 -> 실행 파일 생성 ​ 1. 코드 작성 사용자가 프로그래밍 문법에 맞게 코드를 작성하..

개발 Study 2021.03.26