본문 바로가기
반응형

비전공자C언어13

C언어 공용체 오늘은 공용체에 대해서 간단하고 빠르게 알아보겠습니다. 공용체는 앞서 배웠던 구조체와 비슷한데 약간~ 다릅니다. 우리가 위와 같이 구조체를 하나 선언했다고 가정해 보겠습니다. 그럼 메모리상에서 구조체는 순서대로 위치하기 때문에 아래와 같이 위치하게 됩니다. 순서대로 int a와 char b가 위치하는 것이지요. 그런데 공용체는 메모리 공간을 공유합니다. 예를 들어 위와 같은 공용체를 선언했다고 가정하면 int a와 char b는 메모리상에서 아래와 같이 위치하게 됩니다. 엥? 이게 뭐야~ 라고 생각하시는 분들이 계실지도 모르겠네요. 하지만 엄연히 C언어의 기능중에 한가지랍니다. 그런데 이렇게 위치하다보니 거의 쓰이는 일이 드물기는 합니다. 위에서 봤던것과 같이 선언하는 형식은 sctruct(구조체)와 동.. 2022. 12. 13.
C언어 구조체 응용 (이중 구조체) 오늘은 이중 구조체에 대해서 이야기 해 보겠습니다. 이중포인터를 만들 수 있듯이 구조체도 2중으로 만들 수 있습니다. 구조체 안의 구조체 : 이중 구조체 그럼 예제를 바로 한번 보겠습니다. 딱봐도 엄청 간단하죠? 핵심은 위 부분입니다. 먼저 일반적인 구조체를 하나 선언한 뒤에, 구조체를 하나 더 선언할 때 먼저 선언한 구조체를 호출하는 방식입니다. 어려운것 없죠? 이렇게 구조체에서 구조체를 호출하면 아래와 같이 main함수에서 다른 구조체와 같은 방법으로 호출하여 사용이 가능합니다. 단, 각각의 멤버를 호출할 때 각 구조체의 이름을 순서대로 둘 다 적어주어야 한다는 점을 명심하시기 바랍니다. 그럼 실행해서 결과값을 한번 볼까요? 예상대로 잘 실행되는 것을 알 수 있습니다. 그럼 혹시 이중 구조체도 되었으.. 2022. 12. 8.
C언어 구조체 응용 (구조체와 함수) 오늘은 구조체에 대해서 알아보는 세번째 시간으로 구조체를 사용자 정의 함수에 사용하는 방법을 알아보도록 하겠습니다. 구조체와 사용자 정의 함수 우리가 사용자 정의 함수에서 함수의 값을 main함수와 주고 받으려면 무엇을 사용 했었는지 기억하시나요? 맞습니다. 포인터 입니다. 여기서도 마찬가지 입니다. 포인터가 핵심입니다. 어렵게 배운 포인터를 많이 사용하네요. 그럼 예제를 통해서 바로 알아보도록 하겠습니다. 위 예제를 하나씩 설명해 보겠습니다. 먼저 사용자 정의 함수 부분부터 보겠습니다. 사용자 정의 함수 add_f의 인자를 포인터로 설정하였고, 해당 포인터가 가리키는 주소의 데이터를 1 더하여 저장하는 기능을 가지는 사용자 정의 함수 입니다. 특별히 어렵거나 난해한 부분은 없죠? 그리고 구조체 부분을 .. 2022. 12. 6.
C언어 구조체 심화 (구조체포인터) 오늘은 C언어 구조체를 좀 더 자세히 알아보는 시간을 갖도록 하겠습니다. 먼저 처음 오신 분들은 아래의 C언어 구조체 기초내용을 포스팅한 것부터 보시는 것을 추천 드립니다. https://mech19.tistory.com/203 C언어 구조체 기초 오늘은 구조체에 대해서 이야기 해 보려고 합니다. 구조체는 배열과 비슷하게 많은 데이터를 한번에 관리할 때 편리한 기능입니다. 다만 배열과의 차이점은 배열은 데이터의 타입이 한가지로 mech19.tistory.com 간단히 다시 정리해 보자면 구조체는 위와 같은 형태로 선언하며, 여러가지 데이터 타입을 가지는 멤버를 여러개 가질 수 있고, 이러한 조합을 구조체타입명을 지정하는 형태로 정의 하는 것입니다. 즉, 위에서 struct는 구조체를 의미하고, stude.. 2022. 11. 30.
C언어 구조체 기초 오늘은 구조체에 대해서 이야기 해 보려고 합니다. 구조체는 배열과 비슷하게 많은 데이터를 한번에 관리할 때 편리한 기능입니다. 다만 배열과의 차이점은 배열은 데이터의 타입이 한가지로 고정되는 반면에 구조체는 여러 데이터 타입을 가질 수 있습니다. 그럼 바로 예제를 통하여 구조체의 형태에 대해서 알아보겠습니다. 구조체의 형태 구조체의 가장 기초적인 형태입니다. 프로그램 작성을 시작하고 main함수가 시작되기 전에 struct를 이용하여 구조체를 선언합니다. 구조체는 각 원소의 타입이 제각각인 배열이라고 생각 할 수 있습니다. 이 때문에 배열에서는 배열의 타입만으로 모든 원소의 타입을 알 수 있었지만, 구조체는 그렇지 않습니다. 따라서 구조체는 정의할 때 모든 원소의 타입을 명시해 주어야 합니다. 위 부분이.. 2022. 11. 28.
C언어 Function 응용 #2 (사용자 정의 함수) 오늘은 c언어 사용자 정의 함수의 활용법 중에서 함수의 매개변수(인자)를 이중포인터와 2차원 배열로 만들어서 사용하는 방법에 대해서 이야기 해 보겠습니다. 전혀 어려운 내용은 아닙니다. 바로 알아보도록 하지요. 1. 함수에서 이중포인터 사용 먼저 이중포인터를 기억해 내어야 겠네요. 이중포인터에 대한 내용은 아래 포스팅에서 포인터의 포인터 부분 내용을 먼저 확인 하시기 바랍니다. https://mech19.tistory.com/193 C언어 포인터 심화과정 (배열과 포인터, 포인터의 포인터) 자~ 포인터 심화과정 3번째 시간입니다. 포인터에 대해서는 조금 익숙해 지셨나요? 사실 포인터가 C언어에서 가장 난해하고 어려운 부분입니다. 최대한 쉽게 설명하고 있지만 실제로 어려운건 mech19.tistory.co.. 2022. 11. 23.
반응형