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

C 언어에서 로컬 범위의 구조는 무엇입니까?

<시간/>

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

구조 선언의 일반 형식

구조 선언은 다음과 같습니다 -

구조체 태그명{ 데이터 유형 member1; 데이터 유형 구성원 2; 데이터 유형 멤버 n;};

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

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

구성원 1 , 멤버2 구조를 구성하는 데이터 항목을 지정합니다.

예시

다음 예는 로컬 범위에서 구조의 사용법을 보여줍니다.

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

예시

다음 프로그램은 로컬 범위에서 구조를 사용하는 방법을 보여줍니다.

#include구조체{문자명[20]; 정수 나이; int 급여; char add[30];}emp1,emp2;int manager(){ struct{ //로컬 범위의 구조 char name[20]; 정수 나이; int 급여; 문자 추가[50];}관리자;manager.age=27;if(manager.age>30) manager.salary=650000;else manager.salary=550000;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:Bobenter emp1 추가:Hyderabadenter 급여 emp1:500000emp2 이름 입력:Harienter emp2:Chennaienter 추가 emp2:450000emp1 급여 500000emp2 급여 500000 급여 /사전>