'구조체'에 해당되는 글 2건

  1. 2010.07.18 구조체
  2. 2010.07.18 Pointer와 구조체
Objective C/C언어 기능2010. 7. 18. 17:33

구조체(structure) 배열과 같이 데이타 그룹을 설정하는 수단이다

배열은 같은 데이터 티입으로만 그룹이 지정되지만 

구조체는 다른 데이터 타입으로도 그룹을 만들 있다.

또한 구조체는 인스턴스 변수처럼 만들어 사용하는 것이 아니라 

프로그램에서 사용할 새로운 데이터 타입을 설정하는 것이다.

따라서 구조체를 설정하고 나면 이를 사용할 변수를 만들어 사용한다.

-- 구조체 선언

새로운 데이터 타입을 생성하는 단계

여기서는 메모리에 할당하지 않는다.

date라는 새로운 데이터는 month day, year 담고있다.

구조체인 경우 마지막 중괄호 닫고 ; 으로 마무리해야 한다.

struct date {

int month;

int day;

int year;

};

-- 변수 선언

구조체로 선언한 새로운 데이터 타입을 사용한다.

실제로 변수가 선언되면 메모리를 할당받는다.

변수 today안에는 month, day, year 포함된다.

struct date today;

-- 변수의 데이터 접근

변수에 포함된 3개의 데이터 속성에 접근하기 위해서는 . 연산자를 사용한다.

today.month = 6;

today.day = 8;

today.year = 2010;

NSLog(@"Today's date is %i / %i / %.2i" , today.month, today.day, today.year % 100 );

Posted by 버터백통
Objective C/C언어 기능2010. 7. 18. 12:41

struct date {

int month;

int day;

int year;

};

struct date today;

struct date * datePtoday;

datePtoday = &today;

/*

간접 참조 연산자(*)보다 멤버연산자(.) 우선순위 이므로

소괄호를 사용하여 참조연산자 부터 실행하도록 한다.

*/ 

(*datePtoday).month = 6;

(*datePtoday).day = 10;

(*datePtoday).year = 2010;

NSLog(@"%i-%i-%i", today.month, today.day, today.year);

NSLog(@"%i-%i-%i", (*datePtoday).month, (*datePtoday).day, (*datePtoday).year);

//구조체 속성에 접근하는 새로운 방법 ->연산자. -> 통해 주소지에 저장된 값을 참조한다.

datePtoday->month = 7;

datePtoday->day = 25;

datePtoday->year = 2010;

    NSLog(@"%i-%i-%i", datePtoday->month, datePtoday->day, datePtoday->year);


Posted by 버터백통