웹사이트 검색

Linux C 프로그래밍 자습서 23부 - 구조


이 페이지에서

  1. C 프로그래밍 언어의 구조\n
  2. 결론

지금까지 진행 중인 이 C 프로그래밍 자습서 시리즈에서는 변수에서 함수, 짝수 포인터에 이르기까지 여러 측면에 대해 논의했습니다. 그러나 C 프로그래밍 언어에는 다른 많은 중요한 개념이 있기 때문에 여전히 표면을 긁는 것과 같습니다.

오늘 이 튜토리얼에서는 이러한 개념 중 하나인 구조의 개념에 대해 논의할 것입니다.

C 프로그래밍 언어의 구조

구조체를 선언하는 방법은 다음과 같습니다.

struct TAG {
variable declaration
variable declaration
...
...
...
};

TAG는 emp_details와 같이 이 구조에 부여하려는 이름이 될 수 있습니다.

변수가 C 프로그램에 값을 저장하는 데 사용된다는 것은 이제 상식일 것입니다. 지금까지 우리는 하나 이상의 변수를 사용하는 프로그램/코드를 보았지만 여러 변수가 함께 그룹화되는 것을 본 적이 없습니다. 예, 가능합니다. 본질적으로 구조가 하는 일입니다.

작성한 코드가 회사의 직원 세부 정보 유지 관리를 처리하는 경우를 상상해 보십시오. 새 직원이 들어올 때마다 프로그램에 직원 이름, 나이, 직위 및 부서가 입력됩니다. 따라서 이 경우 직원과 관련된 모든 정보를 단일 단위로 취급하는 방식으로 코드를 작성하는 것이 이상적입니다.

따라서 이러한 방식으로 코드를 작성하는 한 가지 옵션은 이 모든 직원 관련 정보를 그룹화하는 구조를 만드는 것입니다. 구조의 인스턴스(또는 해당 구조 유형의 변수)를 만들고 새 직원과 관련된 모든 세부 정보를 채우면 됩니다.

다음은 구조 유형 변수(이 경우 a, b 및 c)를 생성할 수 있는 몇 가지 방법입니다.

struct emp_details {
variable declaration
variable declaration
...
...
...
}a, b, c;
struct emp_details a;
struct emp_details b;
struct emp_details c;

충분한 이론이 있으므로 이해하기 쉬운 예를 들어 보겠습니다. 팀이 2명의 구성원으로 구성되어 있고 C로 코딩하려는 프로그램을 통해 그들의 세부 정보를 컴퓨터에 저장하려고 한다고 가정합니다. 다음 코드 조각은 구조가 이 경우에 어떻게 도움이 될 수 있는지에 대한 기본 아이디어를 제공해야 합니다. :

#include <stdio.h>

struct emp_details {

int emp_code;
int emp_age;

};

int main()
{
struct emp_details employee[2];

printf("\n enter code and age of first member\n");
scanf("%d", &employee[0].emp_code);
scanf("%d", &employee[0].emp_age);

printf("\n enter code and age of second member\n");
scanf("%d", &employee[1].emp_code);
scanf("%d", &employee[1].emp_age);

for(int i=0; i<2; i++)
{
printf("\n Code and age of member %d is: %d and %d \n", i+1, employee[i].emp_code, employee[i].emp_age);
}

return 0;
}

따라서 여기 이 코드에서 먼저 emp_code와 emp_age를 두 멤버 변수로 사용하여 emp_details라는 구조를 선언했습니다. 그런 다음 기본 함수에서 이 구조의 두 개체를 배열 형식으로 정의했습니다. 그런 다음 사용자의 입력을 받아 이러한 개체에 해당하는 멤버 변수를 채웠습니다. 마지막으로 프로그램은 이러한 값을 사용자에게 다시 출력합니다.

머신에서 프로그램을 실행했을 때의 출력은 다음과 같습니다.

enter code and age of first member 
105
27

enter code and age of second member
110
32

Code and age of member 1 is: 105 and 27

Code and age of member 2 is: 110 and 32

구조 단위의 일부인 변수는 모든 유형이 될 수 있습니다. 구조의 일부로 다른 구조의 개체/인스턴스를 가질 수도 있습니다. 구조에 대한 다음 튜토리얼에서 이 모든 것과 그 이상을 다루므로 계속 지켜봐 주시기 바랍니다.

결론

이 자습서는 C 프로그래밍 언어의 기본 구조에 중점을 두었습니다. 우리는 구조를 선언한 다음 이에 대한 개체 또는 인스턴스를 정의하는 방법, 마지막으로 구조 변수에 액세스하는 방법을 배웠습니다. 다음 튜토리얼에서는 조금 더 깊이 파고들어 구조에 대해 더 많이 배울 것입니다.