728x90

이론 80

C(&C++) 이론 16. 배열

내용 참고 YES C (정보공학연구소/생능출판사) 혼자 연구하는 C/C++ (Soen.kr/와우북스) Microsoft Docs (구 MSDN) 배열(Array) ■ 배열은 동일한 타입을 갖는 유한개의 변수들을 한 가지 이름으로 묶어서 메모리에 순서대로 저장해 놓은 것이다. ■ 배열 내의 변수에 순서대로 접근하기 위한 숫자를 인덱스(Index)라고 부른다. ■ 인덱스가 n개라면 n차원 배열이라고 한다. ■ 예를들어 arr[10][10][10]은 인덱스가 3개이므로 3차원 배열이라고 한다. Ⅰ. 배열의 선언 ⅰ. 배열의 길이 ■ 배열을 선언할 때는 반드시 배열의 길이를 명시적으로 설정해야한다. ■ 배열의 길이는 변수로 정할 수 없으며, 반드시 상수 혹은 상수 표현식(constexpr)으로 지정해야한다. ■..

C(&C++) 이론 15. 함수

내용 참고 YES C (정보공학연구소/생능출판사) 혼자 연구하는 C/C++ (Soen.kr/와우북스) Microsoft Docs (구 MSDN) 함수 Ⅰ. 프로그래밍에서의 함수 ⅰ. 절차지향 프로그램에서 함수의 의의 ■ 함수란 C로 만들어진 프로그램에서 프로그램을 구성하는 단위이다. ■ 이는 C언어가 기본적으로 절차지향 프로그래밍 방법론에 따라 설계되었기 때문이다. ◆ 절차지향 프로그래밍 (Procedual Oriented Programming) ■ 절차치향 프로그래밍에서는 분할정복전략으로 문제를 해결한다. ◆ 분할 정복 전략 (Divide and Conquer) ■ 분할정복전략이란 큰 문제를 여러개의 작은 문제로 나눠서 해결하는 문제 해결 전략이다. ■ C 프로그램은 주로 함수라는 기능별 문제 해결 단..

C(&C++) 이론 14. 제어구조 / 강제 분기문

내용 참고 YES C (정보공학연구소/생능출판사) 혼자 연구하는 C/C++ (SoEn.kr /와우북스) Microsoft Docs (구 MSDN) 강제 분기문 ■ 이 포스트에서는 조건문과 반복문 외에 프로그램의 흐름을 제어하는 분기문들을 알아본다. Ⅰ. 강제 분기문(Jump Statement) ⅰ. goto문 ■ 구문 : goto identifier; ■ 같은 함수 내에 지정된 식별자로 표시된 labeled문으로 이동한다. ■ goto문은 같은 함수 내의 어떤 위치로든 조건없이 이동시켜주는 매우 강력한 명령어이다. ■ 이러한 강력함 때문에 goto문을 남용할 경우 코드의 가독성이 매우 떨어질 수 있다. ■ C언어와 같이 구조적 프로그래밍 언어에서는 goto문 사용을 지양하고 조건문이나 반복문 등으로 구조..

C(&C++) 이론 13. 제어구조 / 조건문과 반복문

내용 참고 YES C (정보공학연구소/생능출판사) 혼자 연구하는 C/C++ (SoEn.kr /와우북스) Microsoft Docs (구 MSDN) 조건문과 반복문 ■ 제어문의 대상이 되는 목표 문장이 한 문장일때는 블록을 쓰지 않아도 의도한대로 동작한다. ■ 하지만 확장성과 가독성 그리고 실수를 방지하기 위해서 목표 문장이 한 문장이더라도 블록으로 묶는 것을 추천한다. Ⅰ. 조건문(Alternative Statement) ⅰ. if문 ■ 구문 : if ( test_expression ) statement; ■ 조건식의 값이 참일 때만 목표 문장을 실행한다. ⅱ. if-else문 ■ 구문 : if ( test_expression ) statement1; else statement2; ■ 조건식의 값이 참이..

C(&C++) 이론 11. 연산자 우선순위 및 결합 방향 표

내용 참고 C++ 기초 플러스 4판 (Stephen Prata저, 윤성일역 / 성안당) Microsoft docs (구MSDN) C언어 이론 5 / 연산자 우선순위 표 연산자 우선순위와 결합 방향에 관한 표는 대부분의 C++ 교재에서 제공된다. 이를 외우고 있으면 유리하겠지만 굳이 C 및 C++을 공부할 때 처음부터 연산자 우선순위를 외우려고 할 필요는 없다. 왜냐하면 연산자 우선순위라는 것은 쓰다보면 결국 익숙해지고 외워지는 내용이기 때문이다. 본 포스트에서는 연산자의 형식과 우선순위, 결합 방향, 오버로딩 가능 여부를 중심으로 표시하는데 중심을 두었다. 각 연산자에 대한 자세한 설명은 이후에 관련 주제와 함께 설명할 예정이다. Ⅰ. 연산자 우선순위와 결합 방향의 의미 ⅰ. 연산자 우선순위 ■ 문장 안..

C(&C++) 이론 8. 데이터 타입과 상수

내용 참고 YES C (정보공학연구소/생능출판사) 혼자 연구하는 C/C++ (SoEn.kr /와우북스) 자료형(Data type)과 상수(Constant) Ⅰ. 자료형/데이터 타입(data type) C언어에서 자료형이란 데이터를 메모리에 저장할 때 알맞은 공간을 할당하고, 적절한 형태로 출력하기 위해서 사용되는 것이다. 1. 기본형 : 하나의 데이터를 저장하기 위해 사용되는 자료형 ■ 문자형 : 문자 하나를 저장하는데 사용.내부적으로는 정수형과 구조가 같다. (char 등) ■ 정수형 : 소수점이 없는 정수 데이터를 저장하는데 사용. (int, long, short 등) ■ 실수형 : 소수점이 있는 실수 데이터를 저장하는데 사용. (float, double 등) ■ void형 : 아직 타입이 지정되어있..

C(& C++)이론 4. 객체 지향

C++의 설계 철학 C++을 개발한 Bjarne Stroustrup은 1994년에 출간된 "The Design and Evolution of C++"에서 C++을 설계 할 때의 원칙을 다음과 같이 기술했다. 1. C++은 엄격하게 타입 검사를 하고, 범용 언어로 사용할 수 있으며, C언어만큼 효율적이고 이식성이 높아야 한다. 2. C++은 여러 가지의 프로그래밍 스타일을 지원할 수 있어야 한다. (절차 지향 프로그래밍, 데이터 추상화, 객체 지향 프로그래밍, 일반화 프로그래밍) 3. C++은 만약 잘못될 가능성이 있다고 하더라도 프로그래머가 자유롭게 선택할 수 있도록 설계되어야 한다. 4. C++은 C에서 쉽게 옮겨갈 수 있도록 최대한 C와 호환성이 있어야 한다. 5. C++은 플랫폼에 의존적이거나 일반..

C(&C++)이론 2. C언어와 Cpp언어의 차이점

1. 변수 선언을 변수를 쓰기 전이라면 어디에서 해도 된다. (원래는 스코프 처음에 해야만 했다.) C스타일 Cpp스타일 int main() { int result, a = 3, b = 4;int i; result = a + b; for (i = 0; i < 10; i++) { result += i; } return 0; } int main() { int result, a = 3, b = 4; result = a + b; for (int i = 0; i < 10; i++) { result += i; } return 0; } 2. 'bool형'이 추가되었다. bool형은 참과 거짓만을 갖는 자료형이다. C언어에서는 C99에서 stdbool.h 를 포함하면 사용할 수 있다. 3. 'reference'가 추가..

C(&C++) 이론 15. 사용자 정의 자료형 2) 공용체

내용 참고 YES C (정보공학연구소/생능출판사) 혼자 연구하는 C/C++ (Soen.kr/와우북스) Microsoft Docs (구 MSDN) C언어 이론 15 / 사용자 정의 자료형 2) 공용체 Ⅱ. 공용체 ■ 공용체는 같은 메모리 공간을 공유하는 변수들을 묶어놓은 것이다. ⅰ. 공용체의 선언 ■ 공용체를 선언할 때는 'union' 키워드를 사용한다. ■ 공용체를 선언하는 방법은 구조체를 선언할 때와 완전히 동일하다. ■ 즉, 4가지의 구조체 선언방법을 공용체에도 똑같이 적용할 수 있다. ■ 이렇게 선언한 공용체의 이름은 하나의 타입처럼 취급된다. ⅱ. 공용체의 특징 1. 메모리를 공유한다. ■ 공용체의 가장 큰 특징은 멤버들끼리 같은 공간(=메모리)를 공유한다는 것이다. ■ 아래와 같은 상황에서 구..

C(&C++) 이론 14. 사용자 정의 자료형 1) 구조체

내용 참고 YES C (정보공학연구소/생능출판사) 혼자 연구하는 C/C++ (Soen.kr/와우북스) Microsoft Docs (구 MSDN) C언어 이론 14 / 사용자 정의 자료형 1) 구조체 ■ 사용자 정의 자료형이란 개발자가 직접 필요에 따라 새롭게 정의한 자료형을 의미한다. ■ 자료형이라는 것은 메모리상에 데이터를 저장할 공간을 지정하고 이를 해석할 방법을 정의한 것이다. ■ 하지만 C(&C++)에서 이런 의미의 기본적인 자료형은 이미 제공되고 있다. ■ 그러므로 C(&C++)에서 사용자 정의 자료형을 만들 때 메모리 크기나 해석 방법을 지정하는 경우는 없다. Ⅰ. 구조체 ■ 구조체란 여러 변수를 하나로 묶어놓은 형태라는 점에서 배열과 비슷하다. ■ 배열은 한가지 타입의 집합이지만 구조체는 서..

반응형