
동적 메모리 동적 메모리 이해 개요 특징 정적 메모리 동적 메모리 메모리 할당 컴파일 시간에 이루어짐 실행 시간에 이루어짐 메모리 해제 자동으로 해제 명시적으로 해제 사용 범위 지역 변수는 선언된 블록 내, 전역 변수는 프로그램 전체에서 사용할 수있음 프로그래머가 원하는 동안만큼 사용할 수 있음 메모리 관리 컴파일러의 책임 프로그래머의 책임 [1]데이터의 개수를 미리 알 수 없을때 사용 [2]처리 대상 데이터가 유동적일 때, 특히 변동 폭이 큰 경우 동적 할당은 실행 시에 할당되는 메모리임 동적 할당은 힙 영역에 할당함 동적 할당은 실행 시 크기가 정해지는 데이터 처리에 효과적임 동적 할당된 공간은 프로그래머가 해제해야 함 라이브러리 함수 헤더파일 stdlib.h malloc() 함수 void * mal..

도서관리 시스템 고도화(라이브러리 적용) 프로그램 설계한 고도화 개요 [1]도서를 키워드로 검색하여 결과를 출력하는 프로그램을 개발 [2]코드 데이터에서 출판연도별 책 목록 출력 기능 ex) 저자 , 가격, 판매수령, 도서명, 코드 memcmp 연도별 출력 : strtok 함수를 이용하여 '-'를 구분자로 잘라내기 코드 검증 : strcspn()함수를 이용하여 숫자와 '-'가 아닌 문자열이 있는지 검사 키워드 검색 : strstr()함수를 이용하여 검색 자료 도서명 char bookTitle 저자 char bookAuthor 가격 int bookPrice 판매수량 int bookSale 코드 char bookCode(xxxx-xxx) 자료구조 struct book { charbookTitle [50]; ..

문자열 비교 검색 라이브러리 헤더파일 : string.h [1]비교함수 memcmp : 메모리 블록 비교 strcmp : 문자열을 비교 strncmp : 문자열 개수를 지정하여 비교 [2]검색함수 memchr : 메모리 블록에서 문자열 검색 strchr : 문자열에서 찾는 문자의 첫 번째 위치 strrchr : 문자열의 마지막에서부터 문자 위치 검색 strspn : 문자열에서 특정 문자로 구성된 문자열의 길이 strcspn : 문자열에서 특정 문자로 구성에 포함되지 않는 문자열의 길이 strstr : 부분 문자열 위치 strspn : 토큰으로 문자열 분리 문자열 비교함수 항목 내용 함수원형 int memcmp ( const void * ptr1, const void * ptr2, size_t num );..

문자 분류 데이터 변환 관련 라이브러리 헤더파일 : string.h [1]길이함수 strlen : 문자열의 길이을 반환 int count=0; while(str [i]!=NULL) { count++; i++ } [2]복사함수 memcpy : 메모리 블록을 복사 memmove : 메모리 블록을 이동 strcpy : 문자열을 복사 strncpy :문자열 개수를 지정하여 복사 [2]연결함수 strcat : 문자열을 연결 strncat : 문자열 개수를 지정하여 연결 길이함수 항목 내용 함수원형 size_t strlen ( const char * str ) 헤더 string.h 기능 문자열의 길이를 구함 매개변수 char *str -> 길이를 구할 문자열 반환값 문자열 길이를 바이트 단위로 반환 #include..

수학 관련 라이브러리 라이브러리 함수 이해 [1]삼각함수 cos : cosine 값 연산 sin : sine 값 연산 tan : tangent 값 연산 acos : arc cosine 값 연산 asin : arc sine 값 연산 atan : arc tangent 값 연산 atan2 : 매개변수가 2개인 arc tangent 값 연산 [2]지수, 로그 함수 exp : 지수 연산 log : 자연로그 연산 log10 : 상용로그 연산 [3]지수, 로그 함수 pow : 거듭제곱 연산 sqrt : 거듭제곱근 연산 [4]반올림함수 ceil : 올림연산 round : 반올림 연산 floor : 내림연산 [5]최대값.최소값 함수 fmax : 매개변수 중 최대값 반환 fmin : 매개변수 중 최소값 반환 [6]절대값 ..

도서관리 시스템 프로그램 설계 도서관리 프로그램이란? * 도서명과 저자 등의 정보를 저장하고 저장된 도서 목록 전체를 출력하거나 찾고자 하는 도서를 제목과 저자 정보로 검색하여 결과를 출력하는 프로그램을 개발 프로그램 구현 시 처리 대상 자료 * 도서명 . 가격 . 저자 . 판매수량 항목 내용 메뉴 도서 입력, 도서 출력, 도서 검색, 종료 기능 도서 입력, 출력, 제목 검색, 저자 검색 요구사항 • 메뉴방식으로 작업 선택 • 종료 메뉴 추가 • 책 제목 최대 50그자까지 입력 가능 • 저자명 최대 2글자까지 입력 가능 • 검색: 제목 검색, 저자 검색 • 최대 100권 관리 가능 자료 구조 정의 자료 도서명 char bookTitle 저자 char bookAuthor 가격 int bookPrice 판매..

문자처리 라이브러리 문자 문자열 입출력 [1] 라이브러리 • scanf (“%c",&ch), printf(“%c”, ch); • getc(); putc • _getch(); getche(); putch(); • getchar(); putchar(); getc() putc() int getc (FILE *stream ); * 지정한 스트림으로 부터 문자 읽기 * 입력문자 ASCII 코드 값을 리턴 , 오류 시는 EOF 리턴 int putc (int ch, FILE *stream ); * 지정한 스트림에 지정한 값을 출력 * 정상 출력시 출력문자 리턴, 오류 시는 EOF리턴 _getch() _getche() _putch() int_getch(void); int_getche (void); : 키보드로부터 입력..

라이브러리 라이브러리 이해 최적화란? • 서브루틴이나 함수들이 저장된 파일들의 모음 • 보통 컴파일된 형태인 목적코드 형태로 존재 • 프로그램에서 공통 사용 가능한 기능을 포함하고 있는 오브젝트 파일 • 사용자의 프로그램과 링크되어 , 실행이 가능한 완전한 프로그램화 * 사용이유 * * 자주 사용되는 특정한 기능을 main 함수에서 분리해놓음 * 프로그램 유지 / 쉬운 디버깅 / 컴파일 시간 단축 정적 라이브러리 : 프로그램을 컴파일하여 생성되는 바이너리에 적재 공유 라이브러리 : 하나의 프로그램 에서 적재 후 사용하면 동일 라이브러리를 사용하는 다른 프로그램이 이용 동적 라이브러리 : 바이너리가 실행 후 적재 / 플러그인 모듈 구현에 적합 표준 라이브러리 작업에 필요한 라이브러리 함수 검색 헤더파일과 ..

애플리케이션 최적화 Optimization 최적화란? • 정보공학에서 시스템을 수정하여 어떠한 면의 작업을 더 효과적으로, 또는 자원을 덜 사용하도록 만드는 작업 • 컴퓨터 프로그램은 더 빠르게 실행되거나 기억 장치 또는 자원을 덜 차지하게 하여 운영하도록 개선 • 유지보수의 편의성을 고려한 코드 개선 • 안정성 확보를 위한 최적화 최적화 기법 병목지점 찾기(소요시간) 구조체 복사 시 대입연산자 대신 라이브러리 함수를 이용 구조체 전달은 포인터를 이용 함수의 매개변수를 축소 : 4개이하 : 레지스터 이용 / 4개이상 : 스택이용 4바이트 이상 전달 시 포인터를 이용 4개 이상인 경우 인자를 구조체로 선언하고 구조체 포인터를 매개변수로 전달 const를 적절히 활용 2의 n 제곱을 곱하는 연산은 쉬프트 연..