Phạm vi cục bộ và phạm vi toàn cầu trong C++
Phạm vi của biến là phạm vi của tập lệnh nơi nó hiển thị. Các biến có phạm vi toàn cầu hoặc cục bộ. Biến toàn cục chỉ tồn tại một lần trong tập lệnh và hiển thị trong mọi chức năng. Các sửa đổi đối với nó trong một chức năng là vĩnh viễn và hiển thị đối với tất cả các chức năng. Trừ khi được khai báo khác, tất cả các biến trong tập lệnh là toàn cầu. Biến toàn cục hữu ích cho các giá trị tương đối không đổi hoặc nhiều chức năng trong tập lệnh phải truy cập, chẳng hạn như id phiên Show Tuy nhiên, một biến cục bộ có phạm vi giới hạn. nó chỉ tồn tại trong khối mà nó được khai báo trong. Khi khối đó kết thúc, biến bị hủy và giá trị của nó bị mất. Một biến cục bộ cùng tên được khai báo ở nơi khác là một biến khác. Một biến cục bộ thậm chí có thể tồn tại nhiều lần cùng một lúc, nếu khối của nó được nhập lại trước khi thoát - i. e. một lời gọi hàm đệ quy. Mỗi lần gọi hàm sẽ có một biến cục bộ riêng biệt Các biến cục bộ phải được khai báo rõ ràng, dưới dạng tham số cho hàm tập lệnh (tại đây) hoặc với câu lệnh Một biến cục bộ có cùng tên với một biến trong phạm vi khác sẽ được ưu tiên hơn biến bên ngoài. Ví dụ: một biến cục bộ có tên là <$x = "fragile"> <$x = "test"> ... The value of x is $x Trong khối Hàm bên trong có quyền truy cập vào cả ba biến vì cả ba biến đều tồn tại trong khi hàm bên trong đang chạy Lý do mã bên ngoài không thể truy cập các biến bên trong các hàm bên trong là vì các hàm đó không chạy (chúng không tồn tại trên ngăn xếp hoặc bất cứ thứ gì nó được gọi) cho đến khi các hàm bên trong này được gọi trong mã. Và sau đó chúng chỉ tồn tại trong khoảng thời gian cần thiết trong khoảng thời gian cần thiết để thực hiện công việc của chúng Nếu chúng ta giả sử rằng mã ví dụ nằm trong hàm 'main()'. Trong khi 'main()' đang chạy, đó là mã duy nhất đang chạy. Trong khi ‘outer()’ đang chạy, chỉ có mã outside() và main() tồn tại. Trong khi 'inner()' đang chạy, mã bên trong(), bên ngoài() và mã chính() nằm trong bộ nhớ hoặc đang chạy Các chức năng kết thúc theo thứ tự ngược lại mà chúng đã bắt đầu. Chức năng cuối cùng bắt đầu là chức năng đầu tiên kết thúc. Nói cách khác, khi mỗi chức năng kết thúc, 'củ hành' được mở ra, máy tính có thể 'thấy' các giá trị ban đầu cho X Ngay cả khi chúng ta giả định rằng máy tính biết rằng các biến trong cùng sẽ tồn tại vào một thời điểm nào đó trong tương lai, thì sẽ quá khó hiểu để phân loại biến nào có thể nhìn thấy và biến nào không. dòng dưới cùng. Hãy coi các hàm bên trong là lười biếng – hành vi mặc định của chúng là sử dụng biến ngoài cùng (toàn cục) nếu tồn tại cùng tên. Các hàm chỉ bận tâm tạo một biến mới bên trong nếu được thúc giục làm như vậy bởi từ khóa “var”, và sau đó hàm bên trong này quá mệt mỏi và không thể tạo biến mới đó để tìm kiếm bất kỳ biến nào khác có cùng tên ở bên ngoài. Hàm bên trong sẽ chỉ sử dụng bất cứ thứ gì gần với nó nhất Ví dụ
Khi bắt đầu khối mã ở trên, X === 100 Trong khi chức năng bên ngoài () đang chạy, một X === 99 khác // trừ khi chúng ta bỏ qua 'var' Trong khi chức năng bên trong () đang chạy, một X = khác Nếu chúng ta quên sử dụng từ khóa ‘var’ trong các hàm bên ngoài () hoặc bên trong (), thì chúng ta đã vô tình (hoặc cố ý) ghi đè giá trị của X trong lớp của hàm hành tây ngay bên ngoài. Đó được gọi là 'tác dụng phụ' Là thành viên, bạn cũng sẽ có quyền truy cập không giới hạn vào hơn 84.000 bài học về toán, tiếng Anh, khoa học, lịch sử, v.v. Ngoài ra, nhận các bài kiểm tra thực hành, câu đố và huấn luyện được cá nhân hóa để giúp bạn thành công Nhận quyền truy cập không giới hạn vào hơn 84.000 bài học Chỉ mất vài phút để thiết lập và bạn có thể hủy bất cứ lúc nào Đã đăng ký?Tài nguyên do giáo viên tạo ra cho giáo viênHơn 30.000 bài học video & tài nguyên giảng dạy‐tất cả ở một nơi. bài học video Câu đố và Bảng tính Tích hợp lớp học kế hoạch bài học Tôi chắc chắn sẽ giới thiệu Study. com đến các đồng nghiệp của tôi. Nó giống như một giáo viên vung cây đũa thần và làm việc cho tôi. Tôi cảm thấy như đó là một cứu cánh Phạm vi toàn cục và cục bộ trong C là gì?Các biến được định nghĩa bên ngoài hàm Chúng được gọi là biến toàn cục và phạm vi của chúng là toàn cục . Các biến được định nghĩa bên trong một hàm là các biến cục bộ.
Sự khác biệt giữa phạm vi địa phương và phạm vi toàn cầu là gì?Biến toàn cục hữu ích cho các giá trị tương đối không đổi hoặc nhiều chức năng trong tập lệnh phải truy cập, chẳng hạn như id phiên. Tuy nhiên, một biến cục bộ có phạm vi giới hạn. nó chỉ tồn tại trong khối mà nó được khai báo trong. Khi khối đó kết thúc, biến bị hủy và giá trị của nó bị mất
Phạm vi toàn cầu trong C là gì?Phạm vi tệp. Các biến này thường được khai báo bên ngoài tất cả các hàm và khối, ở đầu chương trình và có thể được truy cập từ bất kỳ phần nào của chương trình. Chúng còn được gọi là các biến phạm vi toàn cầu vì chúng có thể được truy cập trên toàn cầu . ví dụ 1. C.
3 mức phạm vi trong C là gì?Đây là ba mức phạm vi trong một chương trình C++. toàn cầu, cục bộ và khối . |