Một biến cung cấp cho chúng ta bộ nhớ được đặt tên mà các chương trình của chúng ta có thể thao tác. Mỗi biến trong C++ có một kiểu cụ thể, xác định kích thước và bố cục bộ nhớ của biến; phạm vi giá trị có thể được lưu trữ trong bộ nhớ đó; và tập hợp các hoạt động có thể được áp dụng cho biến.
Tên của một biến có thể bao gồm các chữ cái, chữ số và ký tự gạch dưới. Nó phải bắt đầu bằng một chữ cái hoặc dấu gạch dưới. Chữ hoa và chữ thường khác biệt vì C ++ phân biệt chữ hoa chữ thường –
Có các loại biến cơ bản sau đây trong C ++ như được giải thích trong chương trước:
Sr.No | Loại &; Mô tả |
---|---|
1 | bool
Lưu trữ giá trị true hoặc false. |
2 | Char
Thông thường là một octet duy nhất (một byte). Đây là một loại số nguyên. |
3 | Int
Kích thước tự nhiên nhất của số nguyên cho máy. |
4 | nổi
Giá trị dấu phẩy động có độ chính xác đơn. |
5 | đôi
Giá trị dấu phẩy động có độ chính xác kép. |
6 | Void
Đại diện cho sự vắng mặt của loại. |
7 | wchar_t
Một loại nhân vật rộng. |
C++ cũng cho phép định nghĩa nhiều loại biến khác, mà chúng ta sẽ đề cập trong các chương tiếp theo như Liệt kê, Con trỏ, Mảng, Tham chiếu, Cấu trúc dữ liệu và Lớp.
Phần sau đây sẽ bao gồm cách định nghĩa, khai báo và sử dụng các loại biến khác nhau.
Định nghĩa biến trong C++
Một định nghĩa biến cho trình biên dịch biết vị trí và dung lượng lưu trữ cần tạo cho biến. Định nghĩa biến chỉ định kiểu dữ liệu và chứa danh sách một hoặc nhiều biến thuộc loại đó như sau:
type variable_list;
Ở đây, type phải là kiểu dữ liệu C++ hợp lệ bao gồm char, w_char, int, float, double, bool hoặc bất kỳ đối tượng nào do người dùng xác định, v.v. và variable_list có thể bao gồm một hoặc nhiều tên định danh được phân tách bằng dấu phẩy. Một số tờ khai hợp lệ được hiển thị ở đây –
int i, j, k; char c, ch; float f, salary; double d;
Dòng int i, j, k; vừa khai báo vừa định nghĩa các biến i, j và k; hướng dẫn trình biên dịch tạo các biến có tên i, j và k thuộc loại int.
Các biến có thể được khởi tạo (gán một giá trị ban đầu) trong khai báo của chúng. Bộ khởi tạo bao gồm một dấu bằng theo sau là một biểu thức không đổi như sau:
type variable_name = value;
Một số ví dụ là:
extern int d = 3, f = 5; // declaration of d and f. int d = 3, f = 5; // definition and initializing d and f. byte z = 22; // definition and initializes z. char x = 'x'; // the variable x has the value 'x'.
Đối với định nghĩa không có trình khởi tạo: các biến có thời lượng lưu trữ tĩnh được khởi tạo ngầm bằng NULL (tất cả các byte có giá trị 0); Giá trị ban đầu của tất cả các biến khác là không xác định.
Khai báo biến trong C++
Một khai báo biến cung cấp sự đảm bảo cho trình biên dịch rằng có một biến tồn tại với kiểu và tên đã cho để trình biên dịch tiến hành biên dịch thêm mà không cần chi tiết đầy đủ về biến. Một khai báo biến chỉ có ý nghĩa của nó tại thời điểm biên dịch, trình biên dịch cần định nghĩa biến thực tế tại thời điểm liên kết chương trình.
Khai báo biến rất hữu ích khi bạn đang sử dụng nhiều tệp và bạn xác định biến của mình trong một trong các tệp sẽ có sẵn tại thời điểm liên kết chương trình. Bạn sẽ sử dụng extern keyword để khai báo một biến tại bất kỳ nơi nào. Mặc dù bạn có thể khai báo một biến nhiều lần trong chương trình C++ của mình, nhưng nó chỉ có thể được định nghĩa một lần trong một tệp, một hàm hoặc một khối mã.
Ví dụ
Hãy thử ví dụ sau đây trong đó một biến đã được khai báo ở trên cùng, nhưng nó đã được xác định bên trong hàm chính –
#include <iostream> using namespace std; // Variable declaration: extern int a, b; extern int c; extern float f; int main () { // Variable definition: int a, b; int c; float f; // actual initialization a = 10; b = 20; c = a + b; cout << c << endl ; f = 70.0/3.0; cout << f << endl ; return 0; }
Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau:
30 23.3333
Khái niệm tương tự cũng áp dụng cho khai báo hàm khi bạn cung cấp tên hàm tại thời điểm khai báo và định nghĩa thực tế của nó có thể được đưa ra ở bất kỳ nơi nào khác. Ví dụ −
// function declaration int func(); int main() { // function call int i = func(); } // function definition int func() { return 0; }
Lvalues và Rvalues
Có hai loại biểu thức trong C++ −
- lvalue − Các biểu thức tham chiếu đến một vị trí bộ nhớ được gọi là biểu thức “lvalue”. Một lvalue có thể xuất hiện dưới dạng bên trái hoặc bên phải của một bài tập.
- rvalue − Thuật ngữ rvalue đề cập đến một giá trị dữ liệu được lưu trữ tại một số địa chỉ trong bộ nhớ. Rvalue là một biểu thức không thể gán giá trị cho nó, có nghĩa là rvalue có thể xuất hiện ở bên phải nhưng không phải bên trái của nhiệm vụ.
Các biến là lvalues và do đó có thể xuất hiện ở phía bên trái của bài tập. Chữ số là rvalues và do đó có thể không được gán và không thể xuất hiện ở phía bên trái. Sau đây là một tuyên bố hợp lệ –
int g = 20;
Nhưng sau đây không phải là một tuyên bố hợp lệ và sẽ tạo ra lỗi thời gian biên dịch –
10 = 20;