타입
- 변수의 형식, 타입에 따라 변수의 길이나 값을 해석하는 방식이 달라진다
- 정수형, 실수형을 구분하는 의미
- System 네임스페이스에 정의되어 있는 구조체이거나 클래스이다

CTS

크기

부호

C#

VB

C++

System.Byte

1

없음

byte

Byte

unsigned char

System.SByte

1

있음

sbyte

없음

signed char

System.Int16

2

있음

short

Short

short

System.UInt16

2

없음

ushort

없음

unsigned short

System.Int32

4

있음

int

Integer

int 또는 long

System.UInt32

4

없음

uint

없음

unsigned (long)

System.Int64

8

있음

long

Long

__int64

System.UInt64

8

없음

ulong

없음

unsigned __int64

System.Char

2

없음

char

char

wchar_t

System.Single

4

있음

float

Single

float

System.Double

8

있음

double

Double

double

System.Decimal

16

있음

decimal

Decimal

Decimal

System.Boolean

1

 

bool

Boolean

bool

System.String

가변

 

string

String

string

System.Object

가변

 

object

Boolean

Object *

- System.Int32 = int = Integer = int

다음 두 선언문은 동일하다



닷넷 타입의 분류


값 타임
- 스택에 할당되며 변수가 값 자체를 직접 가진다
- 정수,문자,실수 등의 내장 타입과 열거형, 구조체 등이 값 타입이며 주로 크기가 작고 길이가 고정적인 값들을 저장한다

참조 타입
- 값 자체를 가지는 것이 아니라 값이 저장된 위치만을 가진다
- 선언 후 바로 사용할수 없고 힙에 기억 장소를 할당하는 초기화를 거쳐야 한다
- C의 포인터와 유사한 개념이라고 볼수있고, 사용되는 형태로는 레퍼런스에 가깝다
- 문자열, 클래스, 배열 등 길이가 가변적인 것들이 속한다

ex1)
int i;

정수형의 i라는 이름으로 선언, int 는 값 타임이므로 선언 후 i=5와 같이 바로 값을 대입할수 있다
여러개 선언할때는 콤마로 구분하여 선언하고, =다음에 초기값을 지정할수도 있다

ex2)
int i,j=5;

i와j를 선언후에 j는 5로 초기화했다
i는 선언만 했고 값이 들어가지 않았으므로 , 쓰레기 값이 들어가 있다

ex3)
int i;
Console.WriteLine(i);

i에 값이 선언되지않았는데 출력하려고 하기때문에 에러 메세지가 난다

ex4)
int[] ar;
ar = new int[10];

정수형 배열을 가리킬수 있는 참조형 변수가 이라는 이름으로 생성된다
new int[10]문에 의해 힙에 정수형 변수 10개를 저장 할수 있다

ex5)
Console.WriteLine("최소값 = {0}, 최대값 = {1}",int.MinValue, int.MaxValue);

int형에 저장할수있는 최소값과 최대값을 콘솔로 출력
int라는 구조체의 프로퍼티를 통해 조사한다
최소값 = -2147483648, 최대값 = 2147483647 으로 출력된다

int는 32비트의 부호가 있는 타입이므로 최소 -20억에서 최대20억까지 값을 저장한다

'Study > C#' 카테고리의 다른 글

C# 타입 - 1. 값 타입 (열거형)  (0) 2011.11.10
C# 타입 - 1. 값 타입 (내장형)  (0) 2011.11.09
C# Main 함수  (0) 2011.11.07
C# 콘솔의 여러가지 기능  (2) 2011.11.07
C# 입력하기 - 2. 키 입력받기  (0) 2011.11.02
Posted by 코딩하는 야구쟁이
,