Computer >> Máy Tính >  >> Lập trình >> lập trình C

Viết cấu trúc trong chương trình phạm vi cục bộ bằng ngôn ngữ C

Cấu trúc là một tập hợp các biến kiểu dữ liệu khác nhau, được nhóm lại với nhau dưới một tên duy nhất.

Đặc điểm của cấu trúc

Các tính năng của cấu trúc được giải thích bên dưới -

  • Có thể sao chép nội dung của tất cả các phần tử cấu trúc của các kiểu dữ liệu khác nhau sang một biến cấu trúc khác cùng kiểu của nó bằng cách sử dụng toán tử gán.

  • Để xử lý các kiểu dữ liệu phức tạp, tốt hơn nên tạo một cấu trúc trong một cấu trúc khác, cấu trúc này được gọi là cấu trúc lồng nhau.

  • Có thể chuyển toàn bộ cấu trúc, các phần tử riêng lẻ của cấu trúc và địa chỉ của cấu trúc cho một hàm.

  • Cũng có thể tạo các con trỏ cấu trúc.

Khai báo cấu trúc

Hình thức khai báo cấu trúc chung như sau -

datatype member1;
struct tagname{
   datatype member2;
   datatype member n;
};

Đây, struct là từ khóa.

tên thẻ chỉ định tên của cấu trúc.

thành viên1, thành viên2 là các mục dữ liệu.

Ví dụ:

struct book{
   int pages;
   char author [30];
   float price;
};

Ví dụ

Sau đây là chương trình C cho cấu trúc trong phạm vi cục bộ -

#include<stdio.h>
struct{
   char name[20];
   int age;
   int salary;
   char add[30];
}emp1,emp2;
int manager(){
   struct{
      char name[20];
      int age;
      int salary;
      char add[50];
   }manager ;
manager.age=27;
if(manager.age>30)
   manager.salary=65000;
else
   manager.salary=55000;
   return manager.salary;
}
int main(){
   printf("enter the name of emp1:");
   //gets(emp1.name);
   scanf("%s",emp1.name);
   printf("\nenter the add of emp1:");
   scanf("%s",emp1.add);
   printf("\nenter the salary of emp1:");
   scanf("%d",&emp1.salary);
   printf("\nenter the name of emp2:");
   // gets(emp2.name);
   scanf("%s",emp2.name);
   printf("\nenter the add of emp2:");
   scanf("%s",emp2.add);
   printf("\nenter the salary of emp2:");
   scanf("%d",&emp2.salary);
   printf("\nemp1 salary is %d",emp1.salary);
   printf("\nemp2 salary is %d",emp2.salary);
   printf("\nmanager salary is %d",manager());
   return 0;
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

enter the name of emp1:hari
enter the add of emp1:hyderabad
enter the salary of emp1:4000
enter the name of emp2:lucky
enter the add of emp2:chennai
enter the salary of emp2:5000
emp1 salary is 4000
emp2 salary is 5000
manager salary is 55000