728x90

분류 전체보기 518

C(&C++) 실습 9. 매트릭스 시분할 예제

예제 출처 SoEn (soen.kr) #include #define MAX1024 // 신호 최대 갯수 정의 #define LEFT75 #define RIGHT77 #define UP72 #define DOWN80 #define ESC27 // 특수 키 정의 struct Signal { boolexist;//신호 존재 유무 charch;//신호의 문자 intx, y;//신호의 위치 intdistance;//신호가 한번에 이동할 거리 intnFrame;//이동할 타이밍 (속도) intnStay;//속도에 대한 카운터 }; //신호 구조체 Signal S[MAX]; //신호 구조체 배열 선언 int main() { int freq = 15; int frame = 200; //신호 빈도와 속도 기본값 clrs..

C(&C++) 이론 17. 포인터 1

내용 참고 C++ 기초플러스 4판 (성안당) 혼자 연구하는 C/C++ (Soen.kr/와우북스) Microsoft Docs (구 MSDN) 포인터 ■ 포인터란 컴퓨터의 메모리 주소에 직접 접근하여 데이터를 처리할 수 있는 문법이다. ■ 메모리에 직접 접근하기 때문에 사용자의 부주의로 인한 에러가 일어나기 쉬우니 조심해야 한다. Ⅰ. 포인터의 정의 ⅰ. T형 포인터 ■ 임의의 자료형인 T형 자료형을 저장하고 있는 메모리의 주소를 나타내는 포인터를 T형 포인터라고 한다. ■ 예를들어 int값을 저장하고 있는 메모리를 나타내는 주소를 저장한 포인터는 int형 포인터라고 한다. ■ 임의의 T형 변수가 있다면 언제나 임의의 T형에 대한 포인터도 선언할 수 있다. ■ 포인터 변수를 선언할 때 사용하는 연산자는 * ..

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++) 이론 12. 문장과 제어구조

내용 참고 YES C (정보공학연구소/생능출판사) 혼자 연구하는 C/C++ (SoEn.kr /와우북스) Microsoft Docs (구 MSDN) 문장과 제어구조 Ⅰ. 문장(Statement), 수식(Expression), 블록(Block) ⅰ. Statement(문장 or 문) ■ 꼭 C언어가 아니더라도 대부분의 프로그래밍 언어는 한 문장(Statement)씩 실행된다. ■ 프로그래밍 언어에서 문장(Statement)이란 독립적으로 실행가능한 최소한의 코드 조각을 의미한다. ■ C언어의 문장은 대부분 ;(세미콜론)으로 끝나지만 키워드로 시작되는 제어문 등은 ;(세미콜론)으로 끝나지 않는 경우도 있다. ⅱ. Expression(수식 or 식) ■ 수식은 상수와 변수, 연산자 등의 조합으로 그 결과 하나의..

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

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

C(&C++) 이론 10. 심화 연산자

내용 참고 C++ 기초 플러스 4판 (Stephen Prata저, 윤성일역 / 성안당) 두두코딩 (https://0xd00d00.github.io/) 연산자(Operator) Ⅲ. 심화 연산자(operator) 설명 아래에서 설명하는 연산자들은 C 및 C++ 혹은 프로그래밍이 처음이라면 '이런 것도 연산인가?'라는 생각을 할 수도 있다. 왜냐하면 아래에서 설명하는 연산자들은 대부분 프로그래밍 상황이 아니라면 쓰일 일이 없기 때문이다. 또한 여기서는 서로 다른 연산자인데도 같은 기호가 사용되는 경우가 있는데 이에 대해서는 '연산자 오버로딩(=연산자 재정의)'에서 자세하게 설명한다. 또한 아직 이야기하지 않은 함수나 클래스, 포인터 등과 관련된 내용이 많으므로 이해가 되지 않으면 레퍼런스로 체크만 해두고 나..

C(&C++) 이론 9. 기본 연산자

내용 참고 YES C (정보공학연구소/생능출판사) 혼자 연구하는 C/C++ (SoEn.kr /와우북스) 연산자(Operator) Ⅰ. 연산자(operator)의 구분 C언어에서 연산자란 컴파일러가 하나 이상의 메모리에 저장된 값에 대해서 특정한 행동을 수행하도록 알려주는 기호를 의미한다. ⅰ. 대략적인 분류 ■ 피연산자의 개수에 따른 분류 : 단항 연산자, 이항 연산자, 삼항 연산자. ■ 기능에 따른 분류 : 산술, 관계, 부호, 증감, 비트 논리, 값 논리, 대입, 삼항 조건 등등 ⅱ. 연산자의 특징 ■ 연산을 하기 위해서는 기본적으로 피연산자들의 자료형이 같아야 한다. ■ 만약 서로 다른 자료형끼리 연산을 하려 할 경우 컴파일러는 기본적으로 경고를 표시한다. ■ 경고를 표시하긴 하지만 C언어는 서로 ..

반응형