프로그래밍/TIL(Today I Learned)

8강 자료형(2)

가라멜 2018. 10. 14. 18:23
반응형

1. 연상배열

- 키라 불리는 값에 의해 접근되는, 순서를 갖지 않는 데이터 원소의 집합체

- 배열과 연상배열의 차이 : 일반적인 배열은 첨자가 저장될 필요가 없으나 연상배열은 사용자 정의 키가 배열에 함께 저장

-Perl의 연상배열(해시, hash) : 구현과정에서 원소들이 해시 함수를 통해서 저장되고 추출됨

- Perl의 연상배열의 크기

- 동적으로 변함

- 새로운 원소가 추가되어 미리 정한 수준까지 차면 커짐

- 원소가 삭제되거나 공 해시가 될 때에는 줄어듦

- Perl의 연상배열 탐색

- 장점 : 원소의 직접 탐색이 요구될 때 배열보다 훨씬 효율적

- 단점 : 모든 원소를 처리할 경우에는 배열이 더 효율적


2. 레코드

- 선언부 : 여러 필드들과 그들의 값에 대한 형을 기술

- 레코드의 특정 원소는 두 가지 수준의 구문기법에 의해 참조 -> 집합체의 이름 + 필드이름인 선택자


3. 포인터

- 어떤 객체에 대한 기억장치 주소 참조 방법

- 포인터 변수 : 객체를 참조하기 위한 기억장치 주소를 값으로 취하는 식별자

- 포인터의 유용성

- 실행 전에 결정되지 않은 배열의 크기 문제 -> 모든 객체에 각각의 명시적인 이름을 제공하지 않고 많은 항목을 동적으로 연결하여 사용하는 방법을 제공

-힙(heap) : 동적으로 객체가 배당되는 기억장소 영역 , 힙변수 > 힙에 배당되는 변수


- 포인터의 특징 : 프로그래밍 언어의 작성력을 향상시킴

- C/C++의 포인터

- 주소가 어셈블리 언어에서 사용되는 것처럼 사용 가능

- 포인터 산술 연산 가능 > 프로그램의 유연성 높음 > 허상 참조나 분실된 동적 변수 문제들 발생

- '*' : 역참조 연산자

- '&' : 변수의 주소를 생성하는 연산자

- 참조형 : 주로 함수 정의에서 형식 매개변수를 위해서 사용, 연산자 중복 표현 사용 시 유용


4. 자료형 변환

- 형검사

- 정적 형 검사 : 컴파일 시간에 수행, 강 자료형 요구, 효율적인 목적 코드 생성

- 동적 형 검사 : 실행 시간에 수행

- 형 변환 : 주어진 자료형의 값을 다른 자료형의 값으로 변환하는 것

- 묵시적 형 변환 : 컴파일러에서 자동으로 수행, 강제로 컴파일러에 요구, 자동변환 또는 강제변환

- 명시적 형 변환 : 개발자가 명시, 명령문으로 요구, 캐스트 명령어






반응형

'프로그래밍 > TIL(Today I Learned)' 카테고리의 다른 글

10강 영역과 수명(2)  (0) 2018.10.14
9강 영역과 수명(1)  (0) 2018.10.14
6강 Context-free 문법의 효율화  (0) 2018.10.14
7강 자료형  (0) 2018.10.11
10강 자바 빈 사용하기  (0) 2018.10.11