라이브러리 # 컴퓨터 언어 개요 1.라이브러리 이해 1) 사용자 측면에서의 종류 서브루틴이나 함수들이 저장된 파일들의 모음 보통 컴파일된 형태인 목적코드 형태로 존재 프로그램에서 공통 사용 가능한 기능을 포함하고 있는 오브젝트 파일 사용자의 프로그램과 링크되어, 실행이 가능한 완전한 프로그램 2) 분류 2. 표준 라이브러리 작업에 필요한 라이브러리 함수 검색 헤더파일과 함수 원형 파악 include와 매개변수 기술 3. C 표준 라이브러리 # 사용자 정의 라이브러리 1.Visual Studio에서 만들기 정적 라이브러리 프로젝트로 생성 헤더파일과 소스코드를 작성 lib 빌드 1) DEV C++에서 만들기 정적 라이브러리 프로젝트 생성 헤더파일과 소스코드를 작성 오브젝트 파일 생성 .a 파일 생성
애플리케이션 최적화 # Optimization 1.최적화 개요 최적화란? 정보공학에서 시스템을 수정하여 어떠핚 면의 작업을 더 효과적으로, 또는 자원을 덜 사용하도록 만드는 작업 컴퓨터 프로그램은 더 빠르게 실행되거나 기억장치 또는 자원을 덜차지하게 하여 운영하도록 개선 유지보수의 편의성을 고려한 코드개선 안정성 확보를 위한 최적화 2. 최적화 기법 성능 체크 :최적화 대상 선정 코드 분석 :최적화 향상 병목지점 찾기(소요시간) 구조체 복사 시 대입연산자 대신 라이브러리 함수를 이용 구조체 전달은 포인터를 이용 함수의 매개변수를 축소 4바이트 이상 전달 시 포인터를 이용 4개 이상인 경우 인자를 구조체로 선언하고 구조체 포인터를 매개 변수로 전달 const를 적절히 활용 2의 n 제곱을 곱하는 연산은 쉬..
디버깅 # 디버깅 개요 1.정의 디버깅(Debugging)이란? 프로그래밍 과정 중에 발생하는 오류나 비정상적인 연산과 같은 버그를 찾고 수정하는 과정 오타로 인한 오류 문법적인 오류 논리적인오류 잘못된 라이브러리 사용 시스템상의 한계로 인한 오류 2. 디버거(Debugger) 디버깅을 수행하는 프로그램 대부분의 IDE는 디버거를 내장 1) 디버깅 방법 1한 문장씩 수행 모듈 단위로 나누어서 수행 2) 디버깅 프로그램 # 디버깅 수행하기 1. Visual Studio Debugging 1) 디버깅 순서 프로그램 오류가 발생한 곳 이라고 의심되는 부분에 중단점을 설정하기 ‘디버깅 시작’ 누르기 프로그램이 실행되다가 중단점을 만나면 그 부분에서 멈추기 ‘F11’키로 한 줄씩 실행 하면서 아래‘자동’창의 변수..
프로그래밍 언어별 특성 # 컴퓨터 언어 개요 1.프로그래밍 개요 컴퓨터 언어(Computer Language)란? 컴퓨터를 이용하여 특정 작업을 수행하고자 할 때 컴퓨터에 전달하는 작업 지시서 명령어들의 집합 프로그래밍(Programming)이란? 작업 지시서를 미리 약속된 규칙과 문법을 이용하여 기술하는 행위 2. 프로그래밍 언어 분류 1) 사용자 측면에서의 종류 2) 실행 측면에서의 종류 컴퓨터가 직접 실행하거나 매개체를 이용하여 실행 .1 컴파일러 언어(Compiled Language) 기계어로 컴파일되는 언어 소스코드가 일괄적으로 번역된 후 실행되는 방식 작고빠른코드로변환된후시스템에서실행가능한파일로생성하고실행4 .2 인터프리터 언어(Interpreted Language) 기계어로 미리 변환되는 것..
애플리케이션 구현 #프로그램 설계 1. 프로그램 기능 정의 프로그램명 : 성적처리 프로그램 주요기능 : 학생들의 성적을 입력받고 평균을 구하여 성적순으로 출력하는 프로그램 자료구조 : 이름, 국어, 영어, 수학, 평균 요구사항 - 학생이름은 10글자이내 - 최대 20명의 학생 성적 처리되지 - 평균값 자동 계산 - 메뉴 방식 UI 2. 자료 구조 정의 자료구조 : 이름, 국어, 영어, 수학, 평균 struct sungjuk { char name[10]; int kor, eng, mat; double avg; } 3. 메뉴 구조 #코드분석 1. 헤드 파일 #include #difine ST_NUM 20 #define NAME_LENGTH 10 struct sungjuk { char name[NAME_LEG..
전처리기 #매크로 1. 전처리기 -컴파일러가 소스 파일을 컴파일 하기전에 먼저 수행되는 프로그램 프로그래머가 작성한 소스파일이 컴파일될 수 있도록 준비함 전처리기 문장은 #으로 시작함 #define -> 매크로를 정의 #inclube -> 헤더 파일을 포함 #if,#else,#endif -> 조건에 따라 컴파일 #ifdef -> 매크로가 정의된 경우에 컴파일 #ifndef -> 매크로가 정의되지 않는 경우에 컴파일 2. 매크로상수 소스파일에서 매크로 상수가 사용된 곳을 모두 찾아서 정의된 문자열로 대치해줌 # define 매크로명 함수명(인자1, 인자2) 대치할 내용 매크로 함수는 함수인 것처롬 보이지만 사실은 함수가 아님 컴파일 시에 인자에 데이터형 검사를 수행하지 않으며,인자를 매개변수로 전달하는 함..
배열포인터 처리 #포인터 배열 기초 1. 1차원 포인터 배열 주소를 저장하는 배열 형식 : 데이터형 *배열명[배열크기]; int*arr[5]; -> 크기가 5인 인트형 배열 포인터 배열의 각원소로 변수의 주소를 저장함 배열의 각원소가 포인터형이므로, 원소가 가리키는 변수에 접근하려면 배열의 원소 앞에 간접 참조 연산자 *을 사용해야함 2. 2차원 포인터 배열 포인터 배열의 각원소에 배열의 시작 주소를 저장 arr[i]가 int배열의 시작 주소로 초기화 되었을 때, arr[i]가 가리키는 배열의 원소에 접근하려면 arr[i][j]라고 씀 for(i = 0; i < 3; i++) { for(j=0; j < 3; j++) { printf("&d", arr[i][j]) } } # 고급 포인터 배열 기술 1. 구..
스토리지 클래스 #기초이해 1. 기억부류(스토리지 클래스) 변수나 함수를 선언할 때 사용되는 키워드 변수나 함수의 저장위차와 사용범위를 결정 변수나 함수 선언시 맨 앞에 지정 변수의 디폴트 기억 부류는 auto이고, 함수의 디폴트 기억 부류는 extern 기억 부류 데이터형 변수명; 기억부류 리턴형 함수형(매개변수 리스트); 2. auto변수 지역변수는 디폴트로 auto 기억 부류를 사용 - auto 지역 변수는 선언된 위치에서 자동으로 생성되고, 선언된 블록을 빠져나갈 때 자동으로 해제됨 for 루프에서 선언시 루프내에서만 통용 3. register 변수 변수를 메모리에 할당하는 대신 cUP의 레지스터에 할당 변수를 레지스터에 할당하면 변수에 더 빠르게 접근 보통 루프 제어 변수를 레지스터 변수로 선언..