티스토리 뷰

구조체

 

구조체 이해

사용자 정의데이터 타입
관련 있는 데이터를 묶어서 처리할 수 있는 자료 구조
서로 다은 데이터 타입의 묶음
서로 다은 데이터 타입을 묶어서 처리할 수있도록 사용자가 정의하는 데이터 타입

구조체 정의방법

* 구조체의 멤버로 일반 변수뿐만 아니라 배열이나 포인터 선언 가능
* 구조체를 정의하면 새로운 데이터형이 만들어짐
* 구조체 정의 -> 메모리 할당의 의미는 아님
* 구조체형 변수 선언 -> 메모리에 할당
* struct 구조체명 {
데이터형 멤버명;
데이터형 멤버명;
......
};

 

 

구조체의 크기는 모든 멤버들의 크기의 합보다 크거나 같음
구조체 멤버 중 가장 큰 멤버의 크기를 기준으로 멤버 할당(Padding)
구조체의 크기를 구하려면 sizeof 연산자를 이용함

구조체 처리

 

1.초기화

  • 선언 시 초기화는 배열 초기화 동일
  • {} 안에 멤버들의 초기값을 순서대로 나열
  • {} 안에 지정한 초기값이 멤버의 개수보다 부족하면 나머지 멤버들은 0으로 초기화
  • 멤버 접근 연산자 "."을 이용한 초기화 가능
  • 같은 구조체형의 변수들끼리는 서로 초기화나 대입이 가능함
  • 구조체 간의 초기화 : 멤버 대 멤버 초기화
  • 구조체 간의 대입 : 멤버 대 멤버 대입

 

2. 구조체 포인터



구조체 포인터를 선언하는 것이 가능
구조체 포인터로 구조체의 멤버에게 접글할 때는 "->" 간접 접근 연산자를 사용

'JAVA기반 스마트웹 개발2021 > 프로그래밍 언어활용' 카테고리의 다른 글

함수의 인자  (0) 2021.08.01
공용체와 열거체  (0) 2021.08.01
포인터와 문자열  (0) 2021.07.29
포인터 활용  (0) 2021.07.29
포인터 기초  (0) 2021.07.29
댓글
© 2018 webstoryboy