
프로그래밍 언어별 특성 컴퓨터 언어 개요 컴퓨터 언어(Compouter Language)란? : * 컴퓨터를 이용하여 특정 작업을 수행하고자 할 때 컴퓨터에 전달하는 작업 지시서 * 명령어들의 집합 프로그래밍(Programming)란? : * 작업 지시서를 미리 약속된 규칙과 문법을 이용하여 기술하는 행위 사용자 측면에서의 종류 실행 측면에서의 종류 컴파일러 언어(Compiled Languiage) 인터프리터 언어(Interpreted Language) : 스크립트 언어(Scripting Language) 포함 컴파일러언어(Compiled Languiage) 1. 기계어로 컴파일되는 언어 2. 소스코드가 일괄적으로 번역된 후 실행되는 방식 3. 작고 빠른 코드로 변환된 후 시스템에서 실행 가능한 파일로 ..

애플리케이션 구현 프로그램 설계 프로그램 개발 시 요구사항 분석 후 적절한 자료구조를 선택하는 것이 중요함 다양한 데이터 타입을 묶어서 처리할 필요가 있는 경우 적절한 자료구조는 구조체임 헤더파일 #include #define ST_NUM 20 #define NAME_LENGTH 10 typedef struct sungjuk { char name[NAME_LENGTH]; int kor , eng ,mat; double avg; }SUNGJUK; int inScore (SUNGJUK* , int); void outScore (SUNGJUK* , int); void sortScore (SUNGJUK* , int); main함수 iut main() { int sel, totalScnt=0; SUNGJUK st..

전처리기 매크로 컴파일러가 소스 파일을 컴파일하기 전에 먼저 수행되는 프로그램 프로그래머가 작성한 소스 파일이 컴파일될 수 있도록 준비함 전처리기 문장은 '#'으로 시작 * #define : 매크로를 정의 * #include : 헤더 파일을 포함 * #if, #else, #endif : 조건에 따라 컴파일 * #indef : 매크로가 정의된 경우에 컴파일 * #ifndef : 매크로가 정의되지 않은 경우에 컴파일 매크로 상수 형식 : #define 매크로명 값 전처리기 : 소스 파일에서 매크로 상수가 사용된 곳을 모두 찾아서 정의된 문자열로 대치 매크로 함수의 장점 * 매크로 함수를 사용하면 프로그램의 실행 속도가 빨라짐 * 매크로 함수를 사용할 때는 함수 호출이 일어나지 않으므로 함수 호출의 오버헤드를..

포인터 배열 기초 1차원 포인터 배열 : 주소를 저장하는 배열 형식 : 데이터형 * 배열명[배열 크기]; 예제 * int* arr1 [5]; : 크기가 5인 int*형 배열 * char* arr2 [10]; : 크기가 10인 char*형 배열 * double* arr3 [4]; : 크기가 4인 double*형 배열 * STUDENT arr4 [3]; : 크기가 3인 STUDENT*형 배열 포인터 배열의 각 원소로 변수의 주소를 저장한다. 배열의 각 원소가 포인터형이므로, 원소가 가리키는 변수에 접근하려면 배열의 원소 앞에 간접 참조 연산자 *를 사용해야함 포인터 배열의 각 원소에 배열의 시작 주소를 저장 arr[i]가 int배열의 시작 주소로 초기화 되었을 때, arr[1]가 가리키는 배열의 원소에 접근..

스토리지 클래스 기억부류(스토리지 클래스) 변수나 함수를 선언할 때 사용되는 키워드 변수나 함수의 저장 위치와 사용 범위를 결정 변수나 함수 선언시 맨 앞에 지정 변수의 디폴트 기억 부류는 auto이고, 함수의 디폴트 기억 부류는 extern 구조체 전달 구초제는 구조체 자체를 전달하는 것보다 구조체 시작 주소를 전달하여 함수에서 주소로 참조하도록 하는 것이 좋음 구조체나 구조체 배열을 참조에 의한 호출로 매개변수를 전달하면 메모리 사용에 유리함 구조체 전달시 주소 보관을 위한 4바이트만 사용함 형식 * 기억부류 데이터형 변수명; * 기억부류 리턴형 함수명(매개변수 리스트); auto 변수 지역 변수는 디폴트로 auto 기억 부류를 사용 -> auto 지역 변수는 선언된 위치에서 자동으로 생성되고, 선언..

함수의 인자 매개변수 함수에 전달하는 값[매개변수(Parameter), 인자(Argument)] -> 함수 호출 시 함수로 값을 전달하는 목적으로 이용한다 * 형식매개변수(Formal Parameter) : 함수 정의에서 기술되는 매개변수 목록 * 실매개변수(Real Parameter) : 함수 호출에서 기술되는 값, 인자(Argument) call by Value(값에 의한 호출) : 인자의 값을 함수 정의에 있는 매개변수로 복사해서 전달하는 방식 call ny Reference(참조에 의한 호출) : 인자의 참조값을 함수 정의에 있는 매개변수로 전달하는 방식 변수의 값을 복사해서 전달하는 대신 변수의 주소를 전달하는 방식 호출된 함수에서 값을 호출한 곳으로 리턴의 용도로 사용 가능 구조체가 가진 멤버..

공용체와 열거체 공용체 동일한 저장 장소에 여러 데이터 타입을 저장하는 자료구조 * 멤버들이 메모리를 공유해서 사용하는 기법 * 공용체의 크기는 공요체의 멤버 중 가장 크기가 큰 멤버에 의해 결정 * 공용체 변수를 초기화할 때는 첫 번째 멤버의 초기값만 지정 * 공용체의 멤버에 접근할 때도 ','와 '->' 연산자를 사용함 union 공용체명 { 멤버; 멤버; }; 비트필드 구조체가 가진 멤버를 비트 단위로 사용 비트 필드의 정의 : 멤버이름 + : + 비트 수 기술 메모리에 할당할 때, 첫 번째 멤버를 최하위 비트에서부터 할당 비트필드의 멤버에 표현 가능한 범위 밖의 값을 저장하면 오버플로우가 발생 비트필드를 정희할 때는 중간에 일부 비트를 비워두고 멤버를 특정 비트에 할당할 수 있음 * 리틀 엔디안 ..

구조체 구조체 이해 사용자 정의데이터 타입 관련 있는 데이터를 묶어서 처리할 수 있는 자료 구조 서로 다은 데이터 타입의 묶음 서로 다은 데이터 타입을 묶어서 처리할 수있도록 사용자가 정의하는 데이터 타입 구조체 정의방법 * 구조체의 멤버로 일반 변수뿐만 아니라 배열이나 포인터 선언 가능 * 구조체를 정의하면 새로운 데이터형이 만들어짐 * 구조체 정의 -> 메모리 할당의 의미는 아님 * 구조체형 변수 선언 -> 메모리에 할당 * struct 구조체명 { 데이터형 멤버명; 데이터형 멤버명; ...... }; 구조체의 크기는 모든 멤버들의 크기의 합보다 크거나 같음 구조체 멤버 중 가장 큰 멤버의 크기를 기준으로 멤버 할당(Padding) 구조체의 크기를 구하려면 sizeof 연산자를 이용함 구조체 처리 1..