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

Giải thích quy tắc phạm vi (scope rules) liên quan khối lệnh trong C


Quy tắc phạm vi liên quan các yếu tố:

  • Khả năng truy cập biến.
  • Thời gian tồn tại biến.
  • Ranh giới sử dụng biến.

Quy tắc phạm vi khối lệnh:

  • Khối lệnh bao bởi ngoặc nhọn chứa tập câu lệnh.
  • Biến khai báo trong khối chỉ truy cập và dùng được trong khối đó, không tồn tại bên ngoài.

Ví dụ 1

Chương trình C quy tắc phạm vi khối lệnh:

#include <stdio.h> 
main() { 
    { 
        int i = 1; 
        printf("%d", i); 
    } 
    { 
        int j = 2; 
        printf("%d", j); 
    } 
}

Kết quả

1 2

Dù biến khai báo lại trong khối riêng với cùng tên, chúng được coi khác nhau.

Ví dụ 2

#include <stdio.h> 
main() { 
    { 
        int i = 1; 
        printf("%d", i); 
    } 
    { 
        int i = 2; 
        printf("%d", i); 
    } 
}

Kết quả

1 2

Ví dụ 3

Khai báo lại biến trong khối bên trong che khuất biến khối ngoài khi thực thi khối trong.

#include <stdio.h> 
main() { 
    int i = 1; 
    { 
        int i = 2; 
        printf("%d", i); 
    } 
}

Kết quả

2

Ví dụ 4

Biến khai báo ngoài khối bên trong truy cập được khối lồng, nếu không khai báo lại trong khối trong.

#include <stdio.h> 
main() { 
    int i = 1; 
    { 
        int j = 2; 
        printf("%d", j); 
        printf("%d", i); 
    } 
}

Kết quả

2 1