Biến và định danh
Biến là một ô nhớ có tên duy nhất (có thể tham chiếu mà không có bất kỳ lỗi nào), có thể lưu trữ các giá trị của một kiểu nhất định. Khả năng này được đảm bảo bởi thực tế là trình biên dịch phân bổ cho biến vừa đủ bộ nhớ cần thiết theo định dạng nội bộ đặc biệt: Mỗi kiểu có kích thước và có định dạng lưu trữ bộ nhớ có liên quan. Chi tiết hơn về điều này được cung cấp trong Phần 2.
Về cơ bản, có một thuật ngữ chặt chẽ hơn, định danh, trong chương trình, thuật ngữ này được sử dụng cho tên của các biến, hàm và nhiều thực thể khác sẽ được tìm hiểu sau đây. Cụ thể, nó chỉ có thể chứa các ký tự Latin, số và dấu gạch dưới; và nó không được bắt đầu bằng một số. Đây là lý do tại sao từ 'Greeting' được chọn cho hàm trước đó đáp ứng các yêu cầu này.
Giá trị của biến có thể khác nhau và có thể thay đổi bằng các câu lệnh đặc biệt trong quá trình thực thi chương trình.
Cùng với kiểu và tên, một biến được đặc trưng bởi ngữ cảnh, tức là một vùng trong chương trình, nơi nó được định nghĩa và có thể được sử dụng mà không có bất kỳ lỗi nào của trình biên dịch. Ví dụ của chúng ta có thể sẽ giúp hiểu khái niệm này dễ dàng hơn mà không cần bất kỳ lý luận kỹ thuật chi tiết nào ngay từ đầu.
Vấn đề là một trường hợp cụ thể của một biến là tham số hàm. Tham số này có mục đích gửi một giá trị nhất định vào hàm. Do đó, rõ ràng là đoạn mã, khi có một biến như vậy, phải được giới hạn trong phần thân của hàm. Nói cách khác, tham số có thể được sử dụng trong tất cả các câu lệnh bên trong khối hàm, nhưng không được sử dụng bên ngoài. Nếu ngôn ngữ lập trình cho phép các quyền tự do như vậy, thì đây sẽ trở thành nguồn gốc của nhiều lỗi do khả năng tiềm ẩn 'làm hỏng' hàm bên trong từ một đoạn chương trình ngẫu nhiên không liên quan đến hàm.
Trong mọi trường hợp, đây là định nghĩa đơn giản hóa một chút về biến, đủ cho phần giới thiệu này.
Do đó, hãy khái quát kiến thức của chúng ta về các biến và tham số: Chúng phải có kiểu
, tên
và ngữ cảnh
. Chúng ta viết hai đặc điểm đầu tiên trong mã một cách rõ ràng, trong khi đặc điểm cuối cùng là kết quả từ vị trí định nghĩa.
Hãy xem cách chúng ta có thể định nghĩa tham số của số giờ trong hàm Greeting
. Chúng ta đã biết kiểu mong muốn, đó là int
và chúng ta có thể chọn tên hợp lý: hour
.
string Greeting(int hour)
{
return "Hello, ";
}
2
3
4
Hàm này vẫn sẽ trả về "Hello"
, bất kể giờ nào. Bây giờ chúng ta nên thêm một số câu lệnh sẽ chọn các chuỗi khác nhau để trả về, dựa trên giá trị của tham số hour
. Xin hãy nhớ rằng có ba tùy chọn phản hồi hàm có thể có: "Good morning"
, "Good afternoon"
và "Good evening"
. Chúng ta có thể cho rằng chúng ta cần 3 biến để mô tả các chuỗi này. Tuy nhiên, sẽ thuận tiện hơn nhiều khi sử dụng một mảng trong những trường hợp như vậy, điều này đảm bảo phương pháp thống nhất để mã hóa các thuật toán có quyền truy cập vào các phần tử.