새소식

컴퓨터공학 💻/C

[ C언어 ] - 구조체 struct

  • -

구조체(struct)의 생성은 다음과 같다.

 

예를 들어 작품 정보를 출력하고자 할 때 작품명, 제작자, 가격, 제작년도를 넣고자한다면 각각 char* 변수 name, maker를 생성하고 int 변수 price, yeaer를 만든다음 Artwork_info 라고 struct를 네이밍한 후 그 안에 변수들을 넣어주면 하나의 구조체가 완성된다. 

 

만들어진 struct를 사용하기 위해서는 main 함수 안에서 각각의 변수에 값들을 선언하고 바로 출력하면 된다.

 

 

만들어진 struct를 다른 하나의 배열로 초기화할 수도 있다. 만들어진 struct를 적용할 새로운 변수 urArtWork를 생성하고 그 배열안에 각각의 값들을 순서대로 넣는다. 각각 출력하면 올바르게 struct가 적용되는 것을 볼 수 있다. 

 

구조체 배열을 만들어 기존 struct 배열 2개를 집어넣어 사용할 수도 있다.

 

 

만들어진 struct에 포인터 변수를 생성해 사용할 수도 있다. 변수 artwork_ptr이 myArtWork 변수의 주소를 가지도록 입력한다. 출력 시 주의할 점은 괄호를 넣어 포인터(*)와 artwork_ptr의 연산이 먼저 실행되도록( = myArtWork 변수의 구조체를 먼저 불러온 후)한 후 그 안에서 각각의 정보들을(name.. maker..)불러와야 한다.

 

 

구조체에 있는 변수에 접근하기 위해선 . 을 사용할 수 있지만 포인터 변수에서는 바로 접근할 수 있도록 -> 를 사용할 수 있다.

 

 

구조체 안에 같은 구조의 구조체를 생성할 수도 있다. 기존 만들어진 Artwork_info의 새로운 포인터 변수 peerArtwork을 생성하고 구조체 포인터의 접근법과 같이 현재 구조체가 적용된 myArtWork 변수안에 들어있는 peerArtwork 변수에 접근하여 urArtwork의 주소를 가지게 한 후 출력하면 위와 같이 적용되는 것을 볼 수 있다.

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.