일요일, 12월 22
Shadow

#068 구조체 생성자

열거형(enumeration)

열거자(enumerator)란 이름이 부여된 일련의 정수 상수로 구성되는 데이터 타입
열거자의 값은 기본적으로 0으로 시작하여 1씩 증가
값을 바꿀 수 있는데, 한 값을 바꾸면 다음 열거자부터는 바뀐값에서 1씩 증가
default type 은 int 이며 char를 제외한 정수형 타입(byte, sbyte, short, int, uint, long, ulong)의 지정이 가능

열거형 정의 및 사용

열거형 정의

  1. enum Weekday{Mon, Tue, Wed, Thu, Fri, Sat, Sun};
  2. // Mon=0, Tue=1, Wed=2, Thu=3, Fri=4, Sat=5, Sun=6
  3. enum Weekday{Mon = 1, tue, Wed = 4, Thu, Fri = 7, Sat, Sun};
  4. // Mon=1, Tue=2, Wed=4, Thu=5, Fri=7, Sat=8, Sun=9

열거형 사용

  1. WeekDay weekday = WeekDay.Fri;
  2. // 또는
  3. int weekday = (int)WeekDay.Fri;

구조체

대문자로 표시
value type
사용자 정의 데이터 타입을 정의하는데 사용
일반적으로 여러개의 필드를 포함하는 복합 데이터 타입(composite data type)을 정의하기 위해 사용
공개필드 멤버로만 포함하는 것이 일반적
생성자를 가질 수 있다.
이때 default 생성자는 재정의할 수 없으며, 반드시 파라메터가 있는 생성자이어야 한다.

구조체 정의 및 사용

구조체 정의

  1. struct POINT {
  2.     public int x;
  3.     public int y;
  4. }

구조체 사용

  1.  POINT pt;
  2.         pt.x = 10;
  3.         pt.y = 20;

구조체 생성자 사용

 

  1.  struct POINT
  2.         {
  3.             public int x;
  4.             public int y;
  5.             public POINT(int x, int y)
  6.             {// 구조체에서 생성자 사용시 파라메터가 있어야 한다.
  7.                 this.x = x;
  8.                 this.y = y;
  9.             }
  10.         }

 

  1. // 구조체의 생성자 호출시 new 키워드를 사용한다.
  2. POINT pt = new POINT(20, 30);
  3. Console.WriteLine(“POINT pt.x = {0}, pt.y = {1}”, pt.x, pt.y);

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.