프로그래밍과 잡담

[C언어] 기초 6 본문

프로그래밍/C,C++, Win32Api

[C언어] 기초 6

크레온 2009. 3. 11. 17:04
구조체 [Structure]

구조체는 여러가지의 데이터타입들의 집합을 구조체라 한다.

배열과는 틀리다..

배열은 같은 형태의 데이터타입들의 집합이지만 구조체는

int, float ,char 이렇게 여러가지로 만들어진 집합체이다.

구조체의 사용법은 간단하다..


struct  구조체 이름
{                         
     내부내용         
};                        


예제)

struct structure
{
    char c;
    int i;
    float f;
    double d;
};

위에 예제와 같이 하면 된다.

함수 안에다가 설정하면 안된다.

함수 밖에다 만들어야 한다.


사용법

사용법은

위에 처럼 만들었으면

이렇게 사용하면 된다..


예제)

void main()
{
    struct structure s;
}

위에 처럼 일반적인 변수 선언을 하는것 처럼 하면 된다.

그러면 내부에 있는 char c나 int i 에 접근을 할려면 어떻게 해야하는가 하면


예제)

void main()
{
    struct structure s;
     
      s.c = 'c';
     s.i = 10;
     s.f = 1.23;
     s.d = 1.23355545;
}


위에 있는 예제와 같이 하면 된다..

' . '  이 점 연산자를 이용해서  내부에 있는 변수에 접근한다.


그리고 사용하다 보면

struct 이름  이렇게 하는게 귀찮다.

그래서 있는게

typedef 라는게 있다..
type definition 일거다.

typedef struct _structure
{
    char c;
    int i;
    float f;
    double d;

}structure, st, s;

이렇게 하면 struct를 빼고 그냥 structure나 st, s 만 써서 변수 선언이 가능해 진다.


열거 [enum]
영어의 enumeration 의 약자이다.
 
사용법은  구조체하고 같다.
 
enum 이름 { 내용 };
위에 처럼 하면 된다.
 
예제 1)
enum 과일{ 사과, 배 ,메론, 망고, 키위 }; 
 
한글로 해도 된다. 근데 왠만하면 영어로 쓰는게 좋다
 
아무것도 안하면 사과에는 0이 들어간다. 
그리고 나머지는 1씩 증가해서 들어간다.
 
예제 2)
enum 과일{ 사과 = 100, 배 ,메론, 망고, 키위 }; 
 
예제 2는 사과에 100을 넣으면 배에는 101이 들어간다.
 
그리고 열거연산자도 typedef가 가능하다.
 
끝..


//////////////////////////
이상한점이나 궁금한거는 댓글로.
반응형

'프로그래밍 > C,C++, Win32Api' 카테고리의 다른 글

[C언어] 기초 7-1  (0) 2009.03.14
[C언어] 기초 7  (0) 2009.03.14
[C언어] 기초 5-2  (0) 2009.03.11
[C언어] 기초 5-1  (0) 2009.03.11
[C언어] 기초 5  (0) 2009.03.11
Comments