Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C 언어를 사용하여 로컬 범위 프로그램에서 구조 작성

<시간/>

구조는 단일 이름으로 함께 그룹화된 다양한 데이터 유형 변수의 모음입니다.

구조의 특징

구조의 특징은 아래에 설명되어 있습니다 -

  • 할당 연산자를 사용하여 다른 데이터 유형의 모든 구조 요소의 내용을 해당 유형의 다른 구조 변수에 복사할 수 있습니다.

  • 복잡한 데이터 유형을 처리하려면 중첩 구조라고 하는 다른 구조 내에 구조를 만드는 것이 좋습니다.

  • 전체 구조, 구조의 개별 요소 및 구조 주소를 함수에 전달할 수 있습니다.

  • 구조체 포인터를 생성하는 것도 가능합니다.

구조 선언

구조체 선언의 일반적인 형식은 다음과 같습니다 -

데이터 유형 멤버1;구조 태그 이름{ 데이터 유형 멤버2; 데이터 유형 멤버 n;};

여기서 구조체 는 키워드입니다.

태그 이름 구조의 이름을 지정합니다.

멤버1, 멤버2 데이터 항목입니다.

예를 들어,

구조 책{ int 페이지; char 작성자 [30]; 부동 가격;};

예시

다음은 로컬 범위의 구조에 대한 C 프로그램입니다. -

#include구조체{문자명[20]; 정수 나이; int 급여; char add[30];}emp1,emp2;int manager(){ 구조체{ char 이름[20]; 정수 나이; int 급여; 문자 추가[50]; }관리자;manager.age=27;if(manager.age>30) manager.salary=65000;else manager.salary=55000; return manager.salary;}int main(){ printf("emp1의 이름을 입력하세요:"); //gets(emp1.이름); scanf("%s",emp1.이름); printf("\nemp1의 추가를 입력하세요:"); scanf("%s",emp1.add); printf("\nemp1의 급여를 입력하세요:"); scanf("%d",&emp1.salary); printf("\nemp2의 이름을 입력하세요:"); // 가져오기(emp2.name); scanf("%s",emp2.name); printf("\nemp2의 추가를 입력하세요:"); scanf("%s",emp2.add); printf("\nemp2의 급여를 입력하세요:"); scanf("%d",&emp2.salary); printf("\nemp1 급여는 %d입니다.",emp1.salary); printf("\nemp2 급여는 %d입니다.",emp2.salary); printf("\n관리자 급여는 %d입니다.",manager()); 반환 0;}

출력

위의 프로그램이 실행되면 다음과 같은 결과가 생성됩니다 -

emp1:harienter의 이름을 입력하세요. emp1의 hyderabadenter를 추가하세요. emp1:4000의 급여를 입력하세요. emp2의 이름을 입력하세요:luckyenter emp2:5000emp1의 급여를 추가하세요. /사전>