Có hai cách thiết kế phần mềm. Cách thứ nhất là làm cho nó thật đơn giản để rõ ràng, không có chỗ nào thiếu sót. Cách thứ hai là làm cho nó thật phức tạp để không có chỗ thiếu sót nào rõ ràng. C.A.R. Hoare
STDIO Biến trong C++ là 1 yếu tố cần thiết, và vì thế việc hiểu rõ bản chất, cách thức sử dụng biến một cách hiệu quả là cực kỳ quan trọng. Bài viết là những kiến thức cơ bản về biến và các kiểu dữ liệu trong C++.
Nội dung bài viết

Giới thiệu

Biến trong lập trình C++ là 1 khái niệm rất cần thiết vì thế việc hiểu rõ bản chất và sử dụng biến một cách hiệu quả là cực kỳ quan trọng.

Tiền đề bài viết

Bài viết ra đời nhằm giới thiệu những kiến thức cơ bản nhất trong quá trình thao tác với biến.

Đối tượng hướng đến

Bài viết hướng đến những người mới bắt đầu làm quen với lập trình C++.

Biến

Biến là gì và tên biến?

Khi nói tới biến, tôi thường hình dung rằng “biến” là một cái gì đó đại diện cho những giá trị mà chúng ta sẽ sử dụng trong chương trình. Những giá trị này sẽ được lưu tại một số vùng nhớ nhất định của máy tính (mà cụ thể là trên RAM). Như vậy, có thể hiểu một cách đơn giản: Biến là một khối vùng nhớ trên máy tính, chứa giá trị cần thiết của chương trình. Mỗi biến sẽ cần một định danh – tên biến để xác định và phân biệt với các biến khác.

Một tên biến hợp lệ là một chuỗi mà:

  • Chỉ bao gồm một hay nhiều chữ cái, chữ số, dấu gạch dưới.
  • Bắt đầu bằng chữ cái hoặc dấu gạch dưới.
  • Không được trùng với các keyword như: break, continue, friend, public… tham khảo thêm tại Identifier - Keyword - Comment.

LƯU Ý

  • C++ phân biệt in hoa và in thường. Ví dụ: Var, var, VAR sẽ được tính như ba biến khác nhau.
  • Tên biến phải mang một ý nghĩa nhất định, để thao tác hiệu quả và tránh mất thời gian kiểm tra lại ý nghĩa các biến. Tham khảo thêm cách đặt tên biến tại STDIO Coding Convention Level 1.

Kiểu dữ liệu của biến

Khi nhắc tới một biến, ngoài tên biến ra, chúng ta cần quan tâm tới kiểu dữ liệu và giá trị. Kiểu dữ liệu mô tả loại dữ liệu chứa trong biến. Dữ liệu, hay giá trị của một biến thực ra cũng chỉ là một dãy số nhị phân được lưu trên vùng nhớ mà biến đó được cấp. Nhưng tùy theo kiểu dữ liệu mà những giá trị này sẽ được hiểu theo những cách khác nhau.

Ví dụ khi đọc một số nhị phân; cùng là một dãy số 1111, nhưng nếu đọc theo kiểu số nhị phân không dấu sẽ được giá trị 15, còn đọc theo kiểu số nhị phân có dấu thì sẽ được giá trị -1. Tham khảo thêm cách một giá trị  được lưu vào bộ nhớ tại Little Endian Và Big Endian.

Bên cạnh đó, biến của một kiểu dữ liệu nhất định cũng sẽ được cấp một số Bytes vùng nhớ nhất định, tùy theo hệ điều hành.

Danh sách một số kiểu dữ liệu cơ bản trong C++.

KIỂU DỮ LIỆU KÍCH THƯỚC - BYTES (32bits) MÔ TẢ
bool 1 Kiểu Boolean - chân trị, chứa giá trị true hoặc false.
char 1 Kiểu ký tự, giá trị là số nguyên.
int 4 Kiểu số nguyên có dấu.
unsigned int 4 Kiểu số nguyên không dấu (chỉ có giá trị dương).
float 4 Kiểu số thực - dấu chấm động độ chính xác đơn.
double 8 Kiểu số thực - dấu chấm động độ chính xác kép.

Khai báo và khởi tạo biến

C++ yêu cầu mọi biến phải được khai báo trước khi sử dụng.

Khai báo một biến tức là thông báo với trình biên dịch rằng đã có một biến với kiểu dữ liệu và tên biến đã được sử dụng cũng như vùng nhớ cần cấp tương ứng với kiểu dữ liệu cho biến đó. Để khai báo biến trong C++, ta dùng cú pháp đơn giản sau:

kiểu_dữ_liệu tên_biến;

Kiểu dữ liệu ở đây có thể là kiểu dữ liệu có sẵn trong C++ hoặc kiểu dữ liệu do người dùng tự định nghĩa. Có thể khai báo một biến hoặc nhiều biến một lúc với tên biến cách nhau bởi dấu phẩy:

int		a;
char	b, c;
float	d, e, f;

Khi một biến đã được khai báo, giá trị của nó vẫn là chưa xác định, ta có thể khởi tạo giá trị ban đầu cho biến ngay khi khai báo bằng những cách như sau:

int		number = 5;
char	letter('b');

Hoặc cũng có thể khởi tạo giá trị sau khi khai báo như sau:

int		number1, number2;
char	letter;

number1 = 5;
number2 = 8;
letter = 'b';

// Tinh toan co ban tren bien
int sum1 = number1 + 6;
int sum2 = number1 - number2;

Vấn đề khác

Khi làm việc với biến, chúng ta còn gặp phải nhiều vấn đề, trong đó có vấn đề về ép kiểu (type casting), các bạn có thể tham khảo thêm tại Cơ Bản Về Chuyển Kiểu Trong C Type-casting Trong C++.

Bạn cần hỗ trợ các dự án kết nối không dây?

Quí doanh nghiệp, cá nhân cần hỗ trợ, hợp tác các dự án IoT, kết nối không dây. Vui lòng liên hệ, hoặc gọi trực tiếp 0942.111912.

  • TỪ KHÓA
  • Arduino
  • ESP32
  • ESP8266
  • Wifi
  • Bluetooth
  • Zigbee
  • Raspberry Pi
THẢO LUẬN
ĐÓNG