Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Cấu trúc ở phạm vi cục bộ (local scope) trong ngôn ngữ C là gì?


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

Dạng chung của khai báo cấu trúc

Khai báo cấu trúc như sau:

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

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

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

member1, member2 chỉ định các mục dữ liệu cấu thành cấu trúc.

Ví dụ

Ví dụ sau minh họa việc sử dụng cấu trúc ở phạm vi cục bộ:

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

Ví dụ chương trình

Chương trình sau minh họa việc sử dụng cấu trúc ở 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 { // cấu trúc ở phạm vi cục bộ 
        char name[20]; 
        int age; 
        int salary; 
        char add[50]; 
    } manager; 
    manager.age = 27; 
    if (manager.age > 30) 
        manager.salary = 650000; 
    else 
        manager.salary = 550000; 
    return manager.salary; 
} 

int main() { 
    printf("Nhập tên emp1: "); 
    scanf("%s", emp1.name); 
    printf("\nNhập địa chỉ emp1: "); 
    scanf("%s", emp1.add); 
    printf("\nNhập lương emp1: "); 
    scanf("%d", &emp1.salary); 
    printf("\nNhập tên emp2: "); 
    scanf("%s", emp2.name); 
    printf("\nNhập địa chỉ emp2: "); 
    scanf("%s", emp2.add); 
    printf("\nNhập lương emp2: "); 
    scanf("%d", &emp2.salary); 
    printf("\nLương emp1 là %d", emp1.salary); 
    printf("\nLương emp2 là %d", emp2.salary); 
    printf("\nLương manager là %d", manager()); 
    return 0; 
}

Kết quả

Nhập tên emp1: Bob 
Nhập địa chỉ emp1: Hyderabad 
Nhập lương emp1: 500000 
Nhập tên emp2: Hari 
Nhập địa chỉ emp2: Chennai 
Nhập lương emp2: 450000 
Lương emp1 là 500000 
Lương emp2 là 450000 
Lương manager là 550000