RUST의 데이터 타입

2024. 10. 10. 17:35·Programming Language/RUST
목차
  1. Rust의 데이터 타입
  2. 스칼라 타입 데이터
  3. 정수형
  4. 부동 소수점
  5. Boolean
  6. 문자
  7. 컴파운드 타입 데이터
  8. 튜플
  9. 배열
  10. 참고 자료

Rust의 데이터 타입

Rust는 타입이 고정된 언어이다.

이는 모든 변수의 타입이 컴파일 시에 반드시 정해져 있어야 한다는 뜻이다.

보통 컴파일러는 사용된 값에 따라 타입을 추측할 수 있지만, 타입의 선택 폭이 넓은 경우에는 반드시 타입을 명시해야 한다.

Rust의 데이터 타입은 크게 스칼라와 컴파운드로 나눌 수 있다.

 

스칼라 타입 데이터

스칼라는 하나의 값으로 표현되는 타입으로, 다음 데이터형이 스칼라 타입에 해당된다.

  • 정수형
  • 부동소수점
  • boolean
  • 문자

 

정수형

Rust의 기본 정수 타입은 i32 이다. (64-bit 에서도 마찬가지)

Rust에서의 정수 타입

Length Signed Unsigned
8-bit i8 u8
16-bit i16 u16
32-bit i32 u32
64-bit i64 u64
arch isize usize

 

Rust의 정수형 리터럴

Number literals Example
Decimal 98_222
Hex 0xff
Octal 0o77
Binary 0b1111_0000
Byte (u8 only) b'A'

 

부동 소수점

Rust의 부동 소수점 타입은 f32와 f64 가 있으며, 기본 타입은 f64이다.

이는 최신 CPU에서는 f32와 f64는 비슷한 속도를 내지만 f64가 더 정밀한 표현이 가능하기 때문이다.

 

Boolean

true와 false값으로 가지는 타입으로, Rust에서 bool로 명시됨

fn main() {
    let t = true;

    let f: bool = false; // 타입 명시하기
}

 

문자

Rust는 문자 타입인 char도 지원한다.

문자열에는 큰 따옴표를 사용하고, 문자는 작은 따옴표를 사용하는 것에 주의하자.

 

컴파운드 타입 데이터

Rust는 튜플과 배열을 갖고 있다.

 

튜플

튜플은 다양한 타입의 몇 개의 숫자를 집합시켜 하나의 컴파운드 타입으로 만드는 일반적인 방법이다.

각 타입을 명시해 원하는 데이터 타입을 지정할 수 있고, 따로 명시하지 않을 경우 기본 타입으로 지정된다.

fn main() {
    let tup: (u32, f64, i32) = (10, 6.5, 80);

    let tup2 = (10, 2.0, 3);
}

 

개별 튜플 값을 밖으로 빼려면, 패턴 매칭을 이용해야 한다.

이것을 구조해체(destructuring)라고 한다.

fn main() {
    let tup = (500, 6.4, 1);

    let (x, y, z) = tup;

    println!("The value of y is: {}", x);
    println!("The value of y is: {}", y);
    println!("The value of y is: {}", z);
}

 

튜플 값에 직접 접근하려면 마침표(.)를 이용할 수 있다.

fn main() {
    let x: (i32, f64, u8) = (500, 6.4, 1);

    let five_hundred = x.0;

    let six_point_four = x.1;

    let one = x.2;
}

 

배열

배열은 튜플과 다르게 모든 요소가 같은 타입이어야 한다.

또한, 고정된 길이를 갖기 때문에 선언된 크기에서 커지거나 작아지지 않는다.

fn main() {
    let a = [1, 2, 3, 4, 5];
}

 

배열은 stack에 하나의 메모리 덩어리로 할당된다.

인덱싱을 통해 배열의 요소에 접근할 수 있다.

fn main() {
    let a = [1, 2, 3, 4, 5];

    let first = a[0];
    let second = a[1];
}

 


참고 자료

https://rinthel.github.io/rust-lang-book-ko/ch03-02-data-types.html

 

데이터 타입들 - The Rust Programming Language

이 문서는 2판 번역본입니다. 최신 2021 에디션 문서는 https://doc.rust-kr.org 에서 확인하실 수 있습니다. Rust에서 사용되는 모든 값들은 어떤 타입을 갖습니다. 그러니 어떤 형태의 데이터인지 명시

rinthel.github.io

 

저작자표시 비영리 (새창열림)

'Programming Language > RUST' 카테고리의 다른 글

[Rustling] exercises/01_variables/variables1.rs 풀기  (1) 2024.10.11
Rustling 시작하기  (3) 2024.10.11
Rust의 변수  (1) 2024.10.08
Rust로 만드는 숫자 추리 게임  (8) 2024.10.08
Hello, Cargo! (with VS Code)  (0) 2024.10.07
  1. Rust의 데이터 타입
  2. 스칼라 타입 데이터
  3. 정수형
  4. 부동 소수점
  5. Boolean
  6. 문자
  7. 컴파운드 타입 데이터
  8. 튜플
  9. 배열
  10. 참고 자료
'Programming Language/RUST' 카테고리의 다른 글
  • [Rustling] exercises/01_variables/variables1.rs 풀기
  • Rustling 시작하기
  • Rust의 변수
  • Rust로 만드는 숫자 추리 게임
602zzang
602zzang
yks_STUDY602zzang 님의 블로그입니다.
  • 602zzang
    yks_STUDY
    602zzang
  • 전체
    오늘
    어제
    • 분류 전체보기 (77)
      • Programming Language (36)
        • C (15)
        • PYTHON (9)
        • RUST (12)
      • Reverse Engineering (3)
      • OS (17)
        • LINUX (17)
      • 보안 이슈 (6)
      • Digital Forensics (1)
      • CTF (8)
      • 기타 (6)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    파이썬
    TeamH4C
    공급망
    picoCTF
    c
    백준
    빡공팟
    rust
    소켓 통신
    cyberdefenders
    rustling
    P4C
    python
    코드업
    보안동향
    드림핵
    Rocky Linux
    umassctf2025
    보안이슈
    bandit
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
602zzang
RUST의 데이터 타입
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.