C 구조

1992 단어 cstructures
Structure 서로 다른 유형의 데이터를 함께 결합할 수 있는 C 언어의 사용자 정의 데이터 유형입니다. 구조는 보다 의미 있는 복잡한 데이터 유형을 구성하는 데 도움이 됩니다. 배열과 다소 유사하지만 배열은 유사한 유형의 데이터만 보유합니다. 그러나 반면에 구조는 모든 유형의 데이터를 저장할 수 있으므로 보다 실용적입니다.

예를 들어: 문자열 값, 정수 값 등을 포함하는 학생 이름, 나이, 부서, 영구 주소, 아버지 이름 등을 포함하는 학생 정보를 저장하는 프로그램을 작성해야 하는 경우 이 문제에 대해 배열을 어떻게 사용할 수 있습니까? 서로 다른 유형의 데이터를 함께 저장할 수 있는 무언가가 필요합니다.

구조에서 데이터는 레코드 형식으로 저장됩니다.

구조 정의



struct 키워드는 구조를 정의하는 데 사용됩니다. struct는 기본 데이터 유형과 파생 데이터 유형의 모음인 새로운 데이터 유형을 정의합니다.

통사론:

struct [structure_tag]
{
    //member variable 1
    //member variable 2
    //member variable 3
    ...
}[structure_variables];


위의 구문에서 볼 수 있듯이 struct 키워드로 시작합니다. 그런 다음 구조에 이름을 제공하는 것은 선택 사항입니다. 이름을 지정하는 것이 좋습니다. 그런 다음 중괄호 안에 모든 멤버 변수를 언급해야 합니다. int, float, array 등과 같은 다른 유형의 일반 C 언어 변수에 불과합니다.

닫는 중괄호 뒤에 하나 이상의 구조 변수를 지정할 수 있으며 이는 선택 사항입니다.

참고: 구조 유형 선언에서 닫는 중괄호 뒤에는 세미콜론(;)이 와야 합니다.

구조 구성원 액세스



여러 가지 방법으로 구조 구성원에 액세스하고 값을 할당할 수 있습니다. 구조 구성원은 구조 없이 개별적으로 의미가 없습니다. 구조체 멤버에 값을 할당하려면 점 을 사용하여 멤버 이름을 구조체 변수와 연결해야 합니다. 연산자는 마침표 또는 멤버 액세스 연산자라고도 합니다.

예를 들어:

#include<stdio.h>

#include<string.h>

struct Student

{

    char name[25];

    int age;

    char branch[10];

    //F for female and M for male

    char gender;

};

int main()

{

    struct Student s1;



    /*

        s1 is a variable of Student type and 

        age is a member of Student

    */

    s1.age = 18;

    /*

        using string function to add name

    */

    strcpy(s1.name, "Viraaj");

    /*

        displaying the stored values

    */

    printf("Name of Student 1: %s\n", s1.name);

    printf("Age of Student 1: %d\n", s1.age);



    return 0;

}

좋은 웹페이지 즐겨찾기