scriptplay330 열혈 C++ 프로그래밍 비전공자인 나에겐 가장 쉽게 접근할 수 있었던 기본에 충실한 책. 한번보고 두번보고 세번보면 더 좋은 것 같다. 먼가 초심으로 돌아가게 만들어 주는 듯. 2019. 9. 17. 프로그램의 실행 과정 _ 단계 1. 전처리기에 의한 치환작업 ;#include, #define 같이 #으로 시작하는 지시자의 지시에 따라서 소스코드를 적절히 변경하는 작업. 단계 2. 컴파일러에 의한 번역 ;소스코드는 컴파일러에 의해서 어셈블리 코드로 변역됨. 단계 3. 어셈블러에 의한 바이너리 코드 생성 ;1과 0으로만 구성되는 코드. 단계 4. 링커에 의한 연결과 결합 ;프로그램 내에서 참조하는 함수나 라이브러리들을 하나로 묶는(혹은 연결시켜 주는)작업을 함. 실행파일 생성. 메인 메모리에 저장되어 있는 명령어를 CPU 내부로 가져오고(Fetch), 컨트롤 유닛에 의해 분석된 다음(Decode), ALU에 의해 연산이 이뤄진다(Execution). 단계 1. Fetch ; 메모리상에 존재하는 명령어를 CPU로 가져오는 작.. 2019. 9. 10. 컴퓨터 하드웨어의 구성 CPU(Central Processing Unit) ;중앙 처리 장치. 연산 담당. ALU(Arithmetic Logic Unit) ;CPU 내부에서 실제 연산을 담당하는 블록(덧셈이나 뺄셈 같은 산술 연산, AND나 OR같은 논리 연산) 컨트롤 유닛(Control Unit) ;CPU가 처리해야 할 명령어들을 해석하고 결과에 따라 적절한 신호를 CPU의 다른 블록으로 보낸다. 레지스터들(Register Set) ;CPU 내부에도 임시적으로 데이터를 저장하기 위한 조그마한 메모리 공간. CPU 종류에 따라 개수와 형태가 다양함. 버스 인터페이스(Bus Interface) ;CPU 내부에 저장되어 있는 데이터를(레지스터에) I/O 버스에 실어 보내기도 하고 I/O 버스를 통해서 전송되어 오는 데이터들을 수신.. 2019. 9. 10. 해싱(hashing) / 해시테이블(hash table) / 해시함수(hash function) *해싱(hashing) ;키(key) 값을 해시 함수(hash function)라는 수식에 대입시켜 계산한 후 나온 결과를 주소로 사용하여 바로 값(value)에 접근하게 할 수 하는 방법 _ *해시 테이블(hash table) ;해시함수를 사용하여 키를 해시값으로 매핑하고, 이 해시값을 색인(index) 혹은 주소 삼아 데이터의 값(value)을 키와 함께 저장하는 자료구조. -해시 테이블의 기본적인 연산은 삽입, 삭제, 탐색. *버킷(bucket) ;데이터가 저장되는 곳. 하나의 주소를 갖는 파일의 한 구역을 의미. 버킷의 크기는 같은 주소에 포함될 수 있는 레코드 수를 의미함. *슬롯(slot) ;데이터가 저장되는 곳. 한 개의 레코드를 저장할 수 있는 공간으로 n개의 슬롯이 모여 하나의 버킷을 형.. 2019. 9. 10. strcpy => strcpy_s // vs2013 이후부터 애러뿜뿜char* strcpy(char* strDestination, const char* strSource); char str[8];strcpy(str, "strcopy"); // strcpy의 보완// 복사될 메모리의 크기보다 원본 문자열의 크기가 크면 버그가 발생할 수 있다.errno_t strcpy_s(char* dest, rsize_t dest_size, const char* src); char str[8];strcpy_s(str, 8, "strcopy");Colored by Color Scriptercs 2019. 9. 9. 탐색 *순차 탐색 // 정렬되지 않은 배열 arr의 순차탐색 int sequentialSearch(int arr[], int key, int low, int high) { for (int i = low; i 2019. 9. 6. 이전 1 ··· 42 43 44 45 46 47 48 ··· 55 다음