반응형
C언어의 자료형
Java의 자료형
C에서는 부호가 없는 unsigned 정수형을 지원하지만 Java에서는 지원하지 않는다. 또한 Java의 non-primitive data type의 종류에는 array, list, class 등이 있다.
기본 자료형(Primitive data types)
기본 자료형이란 자신을 제외한 또다른 자료형을 이용해서 정의되지 않는 자료형을 말한다.
※ 기본 자료형의 종류
- 정수형(Integer) - byte, short, int, long ...
- 실수형(Float point) - float, double
- Complex - 복소수 계산에서 사용
- Decimal
- Boolean - true or false
- 문자형(Character)
※ 문자열 타입(String data type)
C/C++ 에서는 문자열 타입이 따로 정의되지 않고 char형의 배열 형태로 정의되기 때문에 non-primitive data type이다. 반면 Python에서는 string 타입이 primitive data type으로 정의되어 있고 Java에서는 마치 primitive data type 처럼 문자열을 다루지만 이는 String 클래스를 통한 방법이기 때문에 hybrid적인 성격을 띄고 있다.
※ 문자열 길이 제한에 따른 분류
- Static
- 문자열이 한 번 길이가 정해지면 바꿀 수 없음
- 임의로 바꾸게 되면 이는 다른 메모리를 새롭게 할당하게 됨
- compile-time descriptor을 사용함
- ex) Java - Limited Dynamic Length
- 문자열 최대 길이에 제한이 있으며 실행중에 문자열의 길이를 바꿀 수 있음
- C/C++의 경우 문자열 끝을 나타내는 널문자의 위치를 변화시켜 문자열의 길이를 바꿀 수 있음
- C/C++을 제외한 다른 언어의 경우 run-time-desciptor를 통해 문자열의 길이를 바꿀 수 있음 - Dynamic Length
- 문자열 최대 길이에 제한이 없고 실행중에 문자열의 길이를 바꿀 수 있음
- ex) JavaScript
Enumeration type(열거 타입)
가능한 모든 경우의 값을 명시해두고 사용하는 타입
enum Day{MON, TUE, WED, THU, FRI, SAT, SUN};
enum Day today = MON;
반응형
'PL' 카테고리의 다른 글
[PL] Data types(3) (0) | 2022.04.23 |
---|---|
[PL] Data types(2) (0) | 2022.04.18 |
[PL] Names, Binding, Scope (0) | 2022.04.17 |
[PL] 어휘분석과 구문분석(Lexical and Syntax Analysis) (0) | 2022.04.17 |
[PL] Semantic의 표현 (0) | 2022.04.17 |