함수 포인터 # 함수 포인터 이해 1. 소개 1) 정의 함수 포인터란? 함수의 주소를 저장하는 변수 2) 필요성 프로그램 코드 간결화 배열로 처리함으로써 중복 코드 제거 가능 상황에 따른 함수 호출 함수를 데이터 형태로 처리 →함수의 보관과 전달이 용이 3) 형식 리턴타입 (*함수 포인터명)(매개변수리스트); 4) 활용 2. 함수 포인터 형식 1) 리턴과 매개변수가 없는 함수에 대한 함수 포인터 #include void hello() { printf(“Hello, world!\n”); } void good() { printf(“Good morning!\n”); } int main() { void (*fp)(); fp = hello; fp(); fp = good; fp(); return 0; } 2) 리턴..
동적 메모리 # 동적 메모리 이해 1. 개요 동적메모리사진1 데이터의 개수를 미리 알 수 없을 때 사용 처리 대상 데이터가 유동적일 때, 특히 변동 폭이 큰 경우 2. 라이브러리 함수 1) 종류 - 헤더파일 stdlib.h - 헤더파일 stdlib.h 2) malloc() char* arr; arr = malloc( 5 ); int* arr; arr = (int *) malloc( 20 ); 3) free() int* arr; arr = (int *) malloc( 5 ); free(arr); 4) calloc() int* arr; arr = (int *) calloc( 5 , 4 ); 5) realloc() int* arr; arr = (int *) malloc( 8 ); arr = (int *)rea..
도서관리 시스템 고도화(라이브러리 적용) # 프로그램 설계 1. 고도화 개요 도서를 키워드로 검색하여 결과를 출력하는 프로그램을 개발 코드 데이터에서 출판연도별 책 목록 출력 기능 2. 기능 정의 1) memcmp 3. 자료구조 정의 # 코드 분석 1. 선언부 #include #include typedef struct book{ char bookTitle[50]; char bookAuthor[20]; int bookPrice; int bookSale; char bookCode[9]; // xxxxxxx 북코드 }BOOK; int inBook(BOOK* , int); void outBook(BOOK* , int); void searchBook(BOOK* , int); 2. 코드입력 검증 int inBook..
문자열 비교 검색 라이브러리 # 라이브러리 함수 이해 1. 헤더 파일 : string.h 1) 비교함수 memcmp : 메모리 블록을 비교 strcmp : 문자열을 비교 strncmp : 문자열 개수를 지정하여 비교 2) 검색함수 memchr : 메모리 블록에서 문자열 검색 strchr : 문자열에서 찾는 문자의 첫 번째 위치 strrchr : 문자열의 마지막에서부터 문자 위치 검색 strspn : 문자열에서 특정 문자로 구성된 문자열의 길이 strcspn : 문자열에서특정문자로구성에포함되지않는문자열의길이 strstr : 부분 문자열 위치 strtok : 토큰으로 문자열 분리 # 라이브러리 함수 활용 1. 문자열 비교함수 1) memcmp #include #include int main () { char..
문자 분류 데이터 변환 관련 라이브러리 # 라이브러리 함수 이해 1. 종류 1) 헤더 파일 : string.h strlen : 문자열의 길이를 반환 int count=0; while(str[i]!=NULL) { count++; i++; } 2) 복사함수 memcpy : 메모리 블록을 복사 memmove : 메모리 블록을 이동 strcpy : 문자열을 복사 strncpy : 문자열 개수를 지정하여 복사 3) 연결함수 strcat : 문자열을 연결 strncat : 문자열 개수를 지정하여 연결 # 라이브러리 함수 활용 1. 길이함수 #include #include intmain () { char szInput[256]; printf("Enter a sentence: "); gets (szInput); pri..
수학 관련 라이브러리 # 라이브러리 함수 이해 1. 종류 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) 절..
도서관리 시스템 # 프로그램 설계 1. 프로그램 개요 도서관리 프로그램이란? 도서명과 저자 등의 정보를 저장하고 저장된 도서 목록 젂체를 출력하거나 찾고자 하는 도서를 제목과 저자 정보로 검색하여 결과를 출력하는 프로그램을 개발 프로그램 구현 시 처리 대상 자료 도서명,가격,저자,판매수량 2. 기능 정의 메뉴 : 도서 입력, 도서 출력, 도서 검색, 종료 기능 : 도서 입력, 출력, 제목 검색, 저자 검색 요구사항 • 메뉴방식으로 작업 선택 • 종료 메뉴 추가 • 책 제목 최대 50글자까지 입력 가능 • 저자명 최대 20글자까지 입력 가능 • 검색 : 제목 검색, 저자 검색 • 최대 100권 관리 기능 3. 자료구조 정의 1) 선언부 #include #include typedef struct book{ ..
문자처리 라이브러리 # 문자 문자열 입출력 1. 문자 관련 입출력 함수 1) 라이브러리 scanf(“%c”,&ch), printf(“%c”, ch); getc(); putc(); _getch(); _getche(); _putch(); getchar(); putchar(); 2) getc() putc() int getc( FILE *stream ); - 지정한 스트림으로 부터 문자 읽기 - 입력문자 ASCII코드 값을 리턴, 오류 시는 EOF리턴 int putc( int ch, FILE *stream ); - 지정한 스트림에 지정한 값을 출력 - 정상 출력 시 출력문자 리턴, 오류 시는 EOF리턴 3) _getch() _getche() _putch() 3) getchar() putchar() 2. 문자열 ..