Phạm vi của các biến trong Python javatpoint

Trong lập trình, bạn sẽ thường xuyên phải xử lý phạm vi của một biến. Phạm vi của một biến xác định xem bạn có thể truy cập và sửa đổi nó bên trong một khối mã cụ thể hay không

Trong hướng dẫn này, bạn sẽ tìm hiểu về phạm vi biến trong ngôn ngữ lập trình C. Bạn sẽ thấy một số ví dụ về mã để giúp bạn hiểu sự khác biệt giữa biến cục bộ và biến toàn cầu

Phạm vi của một biến là gì?

Trước khi tiếp tục tìm hiểu về phạm vi biến cục bộ và biến toàn cục, hãy hiểu ý nghĩa của phạm vi

Nói một cách đơn giản, phạm vi của một biến là thời gian tồn tại của nó trong chương trình

Điều này có nghĩa là phạm vi của một biến là khối mã trong toàn bộ chương trình nơi biến được khai báo, sử dụng và có thể được sửa đổi

Trong phần tiếp theo, bạn sẽ tìm hiểu về phạm vi biến cục bộ

Phạm vi biến cục bộ trong C – Nested Blocks

Trong phần này, bạn sẽ tìm hiểu cách các biến cục bộ hoạt động trong C. Trước tiên, bạn sẽ viết mã một vài ví dụ, sau đó bạn sẽ khái quát hóa nguyên tắc xác định phạm vi

▶ Đây là ví dụ đầu tiên

#include 

int main() 
{
    int my_num = 7;
    {
        //add 10 my_num
        my_num = my_num +10;
        //or my_num +=10 - more succinctly
        printf("my_num is %d",my_num);
    }
    
    return 0;
}

Hãy hiểu những gì chương trình trên làm

Trong C, bạn phân định một khối mã bằng

//Output

my_num is 17
1. Các dấu ngoặc nhọn mở và đóng lần lượt biểu thị phần đầu và phần cuối của một khối

  • Hàm
    //Output
    
    my_num is 17
    2 có một biến số nguyên
    //Output
    
    my_num is 17
    3 được khởi tạo thành 7 ở khối bên ngoài
  • Có một khối bên trong cố thêm 10 vào biến
    //Output
    
    my_num is 17
    3

Bây giờ, biên dịch và chạy chương trình trên. Đây là đầu ra

//Output

my_num is 17

Bạn có thể thấy như sau

  • Khối bên trong có thể truy cập giá trị của
    //Output
    
    my_num is 17
    3 được khai báo ở khối bên ngoài và sửa đổi nó bằng cách thêm 7 vào khối đó
  • Giá trị của
    //Output
    
    my_num is 17
    3 bây giờ là 17, như được chỉ ra trong kết quả

Phạm vi biến cục bộ trong C – Khối lồng nhau Ví dụ 2

▶ Đây là một ví dụ khác có liên quan

________số 8_______
  • Trong chương trình này, hàm
    //Output
    
    my_num is 17
    2 có biến số nguyên
    //Output
    
    my_num is 17
    3 ở khối bên ngoài
  • Một biến khác
    //Output
    
    my_num is 17
    9 được khởi tạo trong khối bên trong. Khối bên trong được lồng bên trong khối bên ngoài
  • Chúng tôi đang cố gắng truy cập và in giá trị của khối bên trong
    //Output
    
    my_num is 17
    9 ở khối bên ngoài

Nếu bạn thử biên dịch đoạn mã trên, bạn sẽ nhận thấy rằng nó không biên dịch thành công. Và bạn sẽ nhận được thông báo lỗi sau

Line   Message
9      error: 'new_num' undeclared (first use in this function)
Điều này là do biến
//Output

my_num is 17
9 được khai báo trong khối bên trong và phạm vi của nó bị giới hạn ở khối bên trong. Nói cách khác, nó là cục bộ của khối bên trong và không thể truy cập được từ khối bên ngoài

Dựa trên các quan sát trên, hãy viết ra nguyên tắc chung sau đây để xác định phạm vi cục bộ của các biến

{
	/*OUTER BLOCK*/
    
      {
    	
        
        //contents of the outer block just before the start of this block
        //CAN be accessed here
        
        /*INNER BLOCK*/
        
        
      }
     
       //contents of the inner block are NOT accessible here
 }

Phạm vi biến cục bộ trong C – Các khối khác nhau

Trong ví dụ trước, bạn đã học cách không thể truy cập các biến bên trong khối bên trong lồng nhau từ bên ngoài khối

Trong phần này, bạn sẽ hiểu phạm vi cục bộ của các biến được khai báo trong các khối khác nhau

#include 

int main()
{
    int my_num = 7;
    printf("%d",my_num);
    my_func();
    return 0;
}

void my_func()
{
    printf("%d",my_num);
}

Trong ví dụ trên,

  • Biến số nguyên
    //Output
    
    my_num is 17
    3 được khai báo bên trong hàm
    //Output
    
    my_num is 17
    2
  • Bên trong hàm
    //Output
    
    my_num is 17
    2, giá trị của
    //Output
    
    my_num is 17
    3 được in ra
  • Có một chức năng khác
    #include 
    
    int main() 
    {
        int my_num = 7;
        {
            int new_num = 10;
        } 
        printf("new_num is %d",new_num); //this is line 9
        return 0;
    }
    6 cố gắng truy cập và in giá trị của
    //Output
    
    my_num is 17
    3
  • Khi thực thi chương trình bắt đầu với hàm
    //Output
    
    my_num is 17
    2, có một lệnh gọi tới ____8_______6 bên trong hàm
    //Output
    
    my_num is 17
    2

▶ Bây giờ biên dịch và chạy chương trình trên. Bạn sẽ nhận được thông báo lỗi sau

Line   Message
13     error: 'my_num' undeclared (first use in this function)

Nếu bạn để ý, vào ngày

Line   Message
9      error: 'new_num' undeclared (first use in this function)
1, hàm
#include 

int main() 
{
    int my_num = 7;
    {
        int new_num = 10;
    } 
    printf("new_num is %d",new_num); //this is line 9
    return 0;
}
6 đã thử truy cập biến
//Output

my_num is 17
3 được khai báo và khởi tạo bên trong hàm
//Output

my_num is 17
2

Do đó, phạm vi của biến
//Output

my_num is 17
3 được giới hạn trong hàm
//Output

my_num is 17
2 và được cho là cục bộ của hàm
//Output

my_num is 17
2

Chúng ta có thể biểu diễn khái niệm phạm vi cục bộ này một cách tổng quát như sau

{

	/*BLOCK 1*/
    // contents of BLOCK 2 cannot be accessed here
    
}


{

	/*BLOCK 2*/
    // contents of BLOCK 1 cannot be accessed here
    
}

Phạm vi toàn cầu của các biến trong C

Cho đến giờ, bạn đã học về phạm vi cục bộ của các biến C. Trong phần này, bạn sẽ học cách khai báo biến toàn cục trong C

▶ Hãy bắt đầu với một ví dụ

#include 
int my_num = 7;

int main()
{
    printf("my_num can be accessed from main() and its value is %d\n",my_num);
    //call my_func
    my_func();
    return 0;
}

void my_func()
{
  printf("my_num can be accessed from my_func() as well and its value is %d\n",my_num);
}

Trong ví dụ trên,

  • Biến
    //Output
    
    my_num is 17
    3 được khai báo bên ngoài các hàm
    //Output
    
    my_num is 17
    2 và
    #include 
    
    int main() 
    {
        int my_num = 7;
        {
            int new_num = 10;
        } 
        printf("new_num is %d",new_num); //this is line 9
        return 0;
    }
    6
  • Chúng tôi cố gắng truy cập
    //Output
    
    my_num is 17
    3 bên trong hàm
    //Output
    
    my_num is 17
    2 và in giá trị của nó
  • Chúng ta gọi hàm
    #include 
    
    int main() 
    {
        int my_num = 7;
        {
            int new_num = 10;
        } 
        printf("new_num is %d",new_num); //this is line 9
        return 0;
    }
    6 bên trong hàm
    //Output
    
    my_num is 17
    2
  • Hàm
    #include 
    
    int main() 
    {
        int my_num = 7;
        {
            int new_num = 10;
        } 
        printf("new_num is %d",new_num); //this is line 9
        return 0;
    }
    6 cũng cố gắng truy cập giá trị của
    //Output
    
    my_num is 17
    3 và in nó ra

Chương trình này biên dịch mà không có bất kỳ lỗi nào và đầu ra được hiển thị bên dưới

//Output
my_num can be accessed from main() and its value is 7
my_num can be accessed from my_func() as well and its value is 7

Trong ví dụ này, có hai chức năng –

//Output

my_num is 17
2 và
#include 

int main() 
{
    int my_num = 7;
    {
        int new_num = 10;
    } 
    printf("new_num is %d",new_num); //this is line 9
    return 0;
}
6

Tuy nhiên, biến

//Output

my_num is 17
3 không cục bộ đối với bất kỳ chức năng nào trong chương trình. Một biến như vậy không phải là cục bộ của bất kỳ chức năng nào được cho là có phạm vi toàn cục và được gọi là biến toàn cục

Nguyên tắc về phạm vi toàn cầu của các biến có thể được tóm tắt như hình dưới đây

//Output

my_num is 17
0

kết thúc

Trong hướng dẫn này, bạn đã học được sự khác biệt giữa phạm vi cục bộ và phạm vi toàn cầu. Đây là hướng dẫn giới thiệu về phạm vi biến trong C

Trong C, có một số công cụ sửa đổi truy cập nhất định để kiểm soát mức độ truy cập mà các biến có. Bạn có thể thay đổi quyền truy cập bằng cách sử dụng các từ khóa tương ứng khi khai báo biến

Hẹn gặp lại tất cả các bạn trong bài hướng dẫn tiếp theo. Cho đến lúc đó, mã hóa hạnh phúc

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO


Phạm vi của các biến trong Python javatpoint
Bala Priya C

Tôi là một nhà phát triển và nhà văn kỹ thuật đến từ Ấn Độ. Tôi viết hướng dẫn về mọi thứ liên quan đến lập trình và máy học


Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn

Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu

Phạm vi của biến trong Python là gì?

Một biến chỉ khả dụng từ bên trong khu vực mà nó được tạo . Đây được gọi là phạm vi.

Biến phạm vi trong Python với ví dụ là gì?

Phạm vi biến trong Python là gì? . Các biến này chỉ có thể được truy cập trong khu vực mà chúng được xác định , đây được gọi là phạm vi. Bạn có thể coi đây là một khối nơi bạn có thể truy cập các biến.

Có bao nhiêu loại phạm vi biến trong Python?

bốn loại chính của phạm vi biến và là cơ sở cho quy tắc LEGB. LEGB là viết tắt của Cục bộ -> Kèm theo -> Toàn cầu -> Tích hợp.

Phạm vi của các biến là gì?

Nói một cách đơn giản, phạm vi của một biến là thời gian tồn tại của nó trong chương trình . Điều này có nghĩa là phạm vi của một biến là khối mã trong toàn bộ chương trình nơi biến được khai báo, sử dụng và có thể được sửa đổi.