반응형
구조체는 타입(int, char, string...)이 다른 변수들의 집합으로 사용됩니다.
배열은 동일한 타입들이 모아두는 곳입니다.
using System;배열은 동일한 타입들이 모아두는 곳입니다.
public struct Member //맴버라는 구조체
{
public static string Name; //Name 이라는 필드(전역변수;맴버변수)
public static int Age; //(Age Field, Global Variable, Member Variable)
}
public class 구조체
{
public static void Main(string[] args)
{
//(로컬변수(Local Variable)) : 매인 메서드 안에서 선언된 변수
//[1] 변수
int num = 1234;
//[2] 배열
string[] names = { "홍길동", "백두산", "임꺽정" };
//[3] 구조체 선언은 public class와 같은 클래스로 클래스 밖에
선언해서 사용한다. (public struct로 선언 첫글자 대문자로 표기)
Member.Name = "한라산"; Member.Age = 21;
//[!] 출력
//[1]
Console.WriteLine("{0}",num);
//[2]
foreach (string name in names)
{
Console.WriteLine("{0}", names);
}
//[3]
Console.WriteLine("{0}, {1}",Member.Name, Member.Age);
}
}
하나의 문서에서 구조체 선언 후 사용하는 방법 말고 다른 방법으로 새로운 클래스를
생성하여 생성된 클래스에 구조체를 선언하여 사용하는 방법이 있습니다.
새로 생성한 클래스안에 구조체를 선언합니다.
'Address.Class'
public struct Address
{
public string Name;
public int Age;
public char Gender; //M,F
public int aaa;
}
using System;
public class 구조체확장
{
public static void Main(string[] args)
{
//기본 구조체사용
//기본구조체 형식 변수 선언
Address addr; // Address 데이터형식
//변수 초기화
addr.Name = "홍";
addr.Age = 21;
addr.Gender = 'M';
Console.WriteLine("{0},{1},{2}",addr.Name,addr.Age, addr.Gender);
}
}
그림28-1 [ 기본 ]
//배열 선언
Address[] addrs = new Address[2];
//구조체 배열 초기화
addrs[0].Name = "백";
addrs[0].Age = 100;
addrs[0].Gender = 'F';
addrs[1].Name = "한";
addrs[1].Age = 90;
addrs[1].Gender = 'M';
//출력
for (int i = 0; i < addrs.Length; i++)
{
Console.WriteLine("{0}, {1}, {2}",
addrs[i].Name, addrs[i].Age, addrs[i].Gender);
}
그림28-2 [ 예제 1]
Address a1; a1.Name = "백"; a1.Age = 100; a1.Gender = 'M';
Address a2; a2.Name = "한"; a2.Age = 50; a2.Gender = 'F';
Address[] addrs = new Address[2] { a1, a2 };
//출력
for (int i = 0; i < addrs.Length; i++)
{
Console.WriteLine("{0}, {1}, {2}",
addrs[i].Name, addrs[i].Age, addrs[i].Gender);
}
그림28-2 [ 예제 2]
코드 실행할때...
반응형
'C#' 카테고리의 다른 글
26.C# - 열거형 (0) | 2009.08.06 |
---|---|
25.C# 날짜관련 구조체 (0) | 2009.08.06 |
23.C# - 문자 구조체 (0) | 2009.08.06 |
22.C# - 제곱 (0) | 2009.08.06 |
21.C# - 합계 (0) | 2009.08.06 |
Comments