C++ 문법

구조체 struct, 레퍼런스

슬뷔 2022. 4. 11. 15:06
구조체 struct

구조체 : 서로 다른 타입의 변수 여러개를 한번에 묶어서 하나의 사용자정의 변수 타입으로 만들어줄 수 있는 기능이다.

 

struct 구조체 이름
{
     원하는 변수 선언
};

 

프로젝트 속성의 구조체 멤버 맞춤이 기본값 으로 설정이 되어 있을 경우,

구조체 내에서 용량이 가장 큰 변수의 크기를 기본값으로 잡아서 메모리를 할당하게 된다.

컴퓨터는 메모리를 4의 배수 또는 2의 제곱 단위로 처리할 때가 가장 빠르다.
아래는 8바이트 단위로 잡게 될 것이다.

멤버가 없더라도 최소바이트인 1바이트가 할당된다.
변수를 선언하게 되면 메모리에 공간이 잡혀야 하므로,

최소 바이트 수인 1바이트 공간을 차지하게 하여 변수를 잡아주는 것이다.

 

레퍼런스 &

레퍼런스 : 다른 변수를 참조하여 값을 컨트롤 할 수 있다.
처음 한 번 참조하는 대상이 지정되면 다른 대상을 참조할 수 없다.
역참조가 필요 없고 바로 접근이 가능하다.

레퍼런스는 저장 공간을 반드시 필요로 하는 것은 아니다.
하지만 컴파일러가 구현에 따라서 필요할 경우 공간을 만들 수도 있다.
메모리가 할당될 경우 포인터와 같은 크기의 공간이 할당된다.

선언된 구조체변수. 을 해서 안의 멤버에 접근할 수 있다.

역참조와 . 둘중 .이 먼저 연산이 된다.

그러므로 역참조가 먼저 연산이 되게 해야 하기 때문에 괄호로 묶어준다.

 

'C++ 문법' 카테고리의 다른 글

전역변수, 함수의 오버로딩  (0) 2022.04.11
함수  (0) 2022.04.11
동적할당, 메모리 릭  (0) 2022.04.11
<포인터> void 타입, 이중 포인터  (0) 2022.04.11
<포인터> 연산 / const  (0) 2022.04.09