-
구조체(Struct)개념 Self Study📝/C, C++ 2023. 8. 1. 17:27
1. 개요
- 구조체에 대한 얘기를 항상 들어왔지만 정확한 구조체에 대한 개념보다는 이런 기능을 하는것이겠지 하며 지레 짐작하며 사용해왔다. 자세한 개념에 대해서 알아보고자 한다.
2. 구조체란?
- C언어의 배열안에 여러 정보를 삽입하고 싶으나 원소의 타입은 모두 동일해야한다. 구조체를 이용하면 다양한 데이터 타입을 쓸수 있다..
- 구조체는 정의할 때 모든 원소의 타입을 명시해 주어야한다.
- 구조체 내부에 있는 값들은 멤버라고 한다.
- 구조체 정의에서는 변수를 초기화 할수 없다.
- . 을 이용하여 원소에 접근할 수 있다.
3. 구조체 포인터
- 구조체 포인터에 접근하기 위해서는 언제나 괄호로 감싸주어야 한다. or '->' 를 사용해준다
- ex)에 있는 괄호 표현방식을 더 간단히 하기 위해 (*ptr).a = 1이라는 문장을 ptr -> a = 1로 간단히 표현할 수 있다.
ex)
(*ptr).a = 1;
*ptr.a = 1;을 바꿔서 컴파일 해보면 밑에 값으로 인해 오류가 발생한다.
*ptr.a = 1; >> 해당 코드를 실행하면 ptr.a먼저 실행한 후, 그 값에 *을 한것에 값이 삽입 된다.
->: 가리키는 구조체 변수의 멤버를 의미한다.
'개념 Self Study📝 > C, C++' 카테고리의 다른 글
C++ 의 클래스 (0) 2023.08.03 C++ 참조자 및 짚고 갈 것 (2) 2023.08.02 메모리 동적할당 (1) 2023.07.31 C언어 포인터 (0) 2023.07.31 C/C++ 입출력은 무엇인가? (0) 2023.07.13