따..딱히 공부하려고 포스팅하는 건 아니니까..!
배열리스트(Array List) 연결리스트(Linked List) 특징 메모리가 연속적으로 배치 배열의 단점을 극복하기 위해 만듬 장점 1. 데이터의 참조가 쉽다. 즉, 인덱스값을 기준으로 어디든 한번에 참조 가능 1. 크기가 유동적이다 2. 메모리 중간에 삽입/삭제가 자유롭다. 단점 1. 배열의 길이가 정해져있다.(변경 불가) 2. 중간에 메모리의 삽입 삭제가 번거롭다 1. 포인터 공간이 하나이상이 추가되어서 메모리가 크다. 2. 메모리 할당/삭제때문에 성능 저하 ∴ 삽입/삭제가 필요할 때 : 리스트 크기가 작거나 빈공간에 채우는 방법이 필요할 때 : 배열
HEAP CORRUPTION DETECTED 에러의 원인은malloc이나 new로 할당한 메모리의 영역보다 더 큰 영역에 접근하고자 했기 때문이다. 어떤 경우가 있는지 예를 들자면, (1) new로 할당한 경우 char * a = new char[10]; 이라고 선언하고a[10]이나 a[11]과 같이 원래 할당한 공간의 영역인 10보다 더 큰 영역에 접근하려고 하면 이와 같은 에러가 난다. (2) malloc으로 할당한 경우 Test * test = (Test*)malloc(sizeof(Test*)); free(test); 이와 같이 메모리를 할당하고 해제했을 때 오류가 나는 경우이다. 실제로 위의 코드를 실행해보면 오류가 나지는 않지만만약 malloc/free 부분에서 Heap 에러가 난다면 한번쯤 훑..
1. 추상화 (Abstraction) ㅇ 실세계의 복잡한 상황을 간결하고 명확하게 단순화/일반화/개념화 (=구체화의 반대) - 이를 통해 모델링을 할 수 있게 됨 ㅇ 일반적으로, 추상화란 보통의 사람들이 이해할 수 있는 언어나 그림으로 표현하게됨 2. 추상화 과정 ㅇ 통상 구체적인 사항은 되도록 생략하고 핵심이 되는 원리만을 추구함 - 추상화를 통해 모델링되어 나타난 추상적 모델은, . 그후에 구체화(구현) 과정을 거쳐 프로그램,컴퓨터 내부언어 등으로 변환하게 됨 3. 추상화 방법의 종별 ㅇ 일반화 (Generalization) ㅇ 세분화 또는 상세화 (Specialization) ㅇ 집단화 (Aggregation) ㅇ 연관화 (Association) 4. [프로그래밍] 추상화 ㅇ 프로세스(제어)의 추상..