본문 바로가기
반응형

전공공부/C, C++29

[C] 11. C언어 공용체 및 열거형 공용체(union) 구조체와 매우 비슷하지만 메모리 구성에서 차이가 발생합니다. 공용체는 가장 큰 멤버변수의 크기만큼 메모리를 할당한 후 그것을 공유하게 됩니다. 구조체와 동일하게 이름(변수명)을 작성하고 중괄호안에 멤버변수를 선언합니다. 구조체와 다르게 메모리를 공유하는만큼 한 번에 하나의 멤버변수에만 접근이 가능합니다. 공용체는 메모리를 절약하여 효율적으로 관리할 수 있지만 사용 시 상당한 주의가 필요합니다! 열거형(enum) 열거형은 관련된 상수들을 그룹화 하여 코드를 좀 더 읽기 쉽게 만들어줍니다. 코드를 읽기 쉽게 만든다는 것은 수정도 쉽게 만들 수 있습니다. // Q. 내가 쓴 코드인데 왜 읽기 쉬워야하죠? // A1. 대학교에서만 프로그램 수업을 들어도 팀프로젝트를 꼭 하게됩니다^^ // A.. 2024. 2. 26.
[C] 10. C언어 구조체 C언어 구조체에 관하여 알아보겠습니다. 구조체란 원하는 자료형 등 다양한 변수를 묶어서 새로운 자료형을 정의한다고 생각하시면 됩니다. 즉, 강아지의 이름, 나이, 몸무게를 각각의 변수가 아닌, 하나의 이름으로 저장이 필요할 때 사용합니다. 구조체의 키워드는 'struct'이며 아래와 같이 "struct 이름"을 사용하고 중괄호 안에 원하는 멤버변수를 선언해줍니다. 멤버변수란 그 구조체를 구성하는 변수입니다. 아래 예시를 직접 실행해보시기 바라며 구조체 멤버변수의 접근은 .(dot 연산자를 활용합니다.) 선언을 할때는 struct dog 등으로 구조체 키워드를 함께 사용해야 하거나, typedef를 사용하여 키워드를 생략할 수 있습니다. 위 자료에서 Padding Bit란 사용한 변수는 20byte, 4b.. 2024. 2. 25.
[C] 9. C언어 다차원 배열 및 다중 포인터 다차원배열을 인덱스를 2개 이상 사용하여 접근하는 배열입니다. 기존에 다룬 배열은 1개의 열이지만 다차원 배열은 여러 행과 열로 구성할 수 있습니다. 간단하게 2차원 배열을 보면 행렬의 형태를 띄고 있고 그 이상의 배열도 사용 가능합니다. 이해하기 어려우면 표를 그려보면 조금 더 사용하기 쉬울 것입니다. 다차원 배열은 이미지 처리분야에서 3차원배열이 주로 사용되며 과학 및 엔지니어링 분야에서 많이 사용됩니다. 다중포인터는 포인터를 가르키는 포인터로 연속적으로 사용되는 포인터를 말합니다. 하나의 포인터는 특정 변수의 메모리만을 가리키지만 다중포인터는 또 그것의 메모리를 가리킵니다. 사용하는 이유는 위 그림에서 보이듯이 복작한 데이터구조를 사용하는 경우입니다. 2차원배열은 포인터의 배열로 생각할 수 있고 리.. 2024. 2. 24.
[C] 8. C언어 배열과 포인터의 연관 C언어에서는 배열과 포인터가 굉장히 밀접한 관계가 있습니다. 일단 정리했던 PPT를 보여드리겠습니다. 제일 중요한 것은 주소! 인 것입니다. 포인터는 주소를 가리키는 것이고 배열의 변수명은 주소값을 나타냅니다. 배열과 포인터의 연관성 특징을 알아보겠습니다. 1. 메모리 주소와 인덱스: 배열의 각 요소는 메모리에 연속적으로 할당됩니다. 따라서 각 요소는 고유한 메모리 주소를 가집니다. 포인터는 변수의 메모리 주소를 저장하는데 사용되며, 배열의 이름은 해당 배열의 첫 번째 요소의 주소를 가리킵니다. 2. 포인터 연산: 포인터는 주소 연산에 사용됩니다. 포인터 산술을 사용하여 배열 요소에 접근할 수 있습니다. 예를 들어, 배열의 첫 번째 요소를 가리키는 포인터에 정수 값을 더하면 다음 배열 요소의 주소를 얻을.. 2024. 2. 23.
반응형