C 프로그래밍 언어에서 구조는 단일 이름으로 함께 그룹화되는 다양한 데이터 유형 변수의 모음입니다.
구조 선언 및 초기화
구조 선언의 일반적인 형식은 다음과 같습니다 -
datatype member1; struct tagname{ datatype member2; datatype member n; };
여기,
- 구조체는 키워드입니다.
- tagname은 구조의 이름을 지정합니다.
- member1, member2는 구조를 구성하는 데이터 항목을 지정합니다.
예를 들어,
struct book{ int pages; char author [30]; float price; };
구조 변수
구조체 변수를 선언하는 방법은 다음과 같이 세 가지가 있습니다. -
첫 번째 방법
struct book{ int pages; char author[30]; float price; }b;
두 번째 방법
struct{ int pages; char author[30]; float price; }b;
세 번째 방법
struct book{ int pages; char author[30]; float price; }; struct book b;
구조 초기화 및 액세스
멤버와 구조체 변수 간의 연결은 멤버 연산자(또는) 점 연산자를 사용하여 설정됩니다.
초기화는 다음과 같은 방법으로 할 수 있습니다 -
첫 번째 방법
struct book{ int pages; char author[30]; float price; } b = {100, “balu”, 325.75};
두 번째 방법
struct book{ int pages; char author[30]; float price; }; struct book b = {100, “balu”, 325.75};
멤버 연산자를 사용한 세 번째 방법
struct book{ int pages; char author[30]; float price; } ; struct book b; b. pages = 100; strcpy (b.author, “balu”); b.price = 325.75;
예시
다음은 구조 변수의 비교를 위한 C 프로그램입니다 -
struct class{ int number; char name[20]; float marks; }; main(){ int x; struct class student1 = {001,"Hari",172.50}; struct class student2 = {002,"Bobby", 167.00}; struct class student3; student3 = student2; x = ((student3.number == student2.number) && (student3.marks == student2.marks)) ? 1 : 0; if(x == 1){ printf("\nstudent2 and student3 are same\n\n"); printf("%d %s %f\n", student3.number, student3.name, student3.marks); } else printf("\nstudent2 and student3 are different\n\n"); }
출력
위의 프로그램이 실행되면 다음과 같은 출력을 생성합니다 -
student2 and student3 are same 2 Bobby 167.000000