Dữ liệu, biến là các tham số, giá trị để lưu trữ thông tin, trong khi làm việc với bất kỳ ngôn ngữ lập trình nào, bạn cần sử dụng các kiểu biến đa dạng để lưu giữ thông tin. Các biến có chức năng như bộ nhớ dành riêng để lưu trữ dữ liệu, Khi bạn tạo ra một biến có nghĩa bạn tạo ra 1 bộ nhớ để lưu giá trị. Vậy các giá trị trong lập trình nói chung và lập trình C++ có các dạng gì? Bài viết này sẽ hướng dẫn rõ cho các bạn các giá trị, các biến trong C++.
Mục lục bài viết
Kiểu dữ liệu trong C/C++
Vì C++ là được phát triển dựa trên C, nên C++ và C có cùng các kiểu dữ liệu, các kiểu dữ liệu có sẵn trong C/C++ là những kiểu dữ liệu mà lập trình viên nào cũng cần phải biết.
Kiểu dữ liệu | Từ khóa |
---|---|
Boolean | bool |
Ký tự | char |
Số nguyên | int |
Số thực | float |
Số thực dạng Double | double |
Kiểu không có giá trị | void |
Kiểu Wide character | wchar_t |
Ngoài ra các dữ liệu cơ bản còn có thể được thêm , sửa đổi, sử dụng một hoặc nhiều modifier này:
- signed (kiểu có dấu)
- unsigned (kiểu không có dấu)
- short (kiểu dữ liệu ngắn)
- long (kiểu dữ liệu dài)
Bảng sau hiển thị kiểu biến, lượng bộ nhớ nó dùng để lưu giá trị trong bộ nhớ, và giá trị lớn nhất và nhỏ nhất có thể được lưu giữ với các kiểu biến đó:
Kiểu | Độ rộng bit | Dãy giá trị |
---|---|---|
char | 1 byte | -127 tới 127 hoặc 0 tới 255 |
unsigned char | 1 byte | 0 tới 255 |
signed char | 1 byte | -127 tới 127 |
int | 4 byte | -2147483648 tới 2147483647 |
unsigned int | 4 byte | 0 tới 4294967295 |
signed int | 4 byte | -2147483648 tới 2147483647 |
short int | 2 byte | -32768 tới 32767 |
unsigned short int | Range | 0 tới 65,535 |
signed short int | Range | -32768 tới 32767 |
long int | 4 byte | -2,147,483,647 tới 2,147,483,647 |
signed long int | 4 byte | Tương tự như long int |
unsigned long int | 4 byte | 0 tới 4,294,967,295 |
float | 4 byte | +/- 3.4e +/- 38 (~7 chữ số) |
double | 8 byte | +/- 1.7e +/- 308 (~15 chữ số) |
long double | 8 byte | +/- 1.7e +/- 308 (~15 chữ số) |
wchar_t | 2 hoặc 4 byte | 1 wide character |
Kích cỡ của các biến có thể khác với những gì hiển thị trên bảng, phụ thuộc vào compiler và máy tính bạn đang sử dụng.
Chú ý: khi bạn lập trình và cài đặt các compiler 32 bit hoặc 64 bit. thì các biến sẽ thay đổi giá trị phụ thuộc vào compiler C++ của các bạn
Ví dụ: khi bạn sử dụng Compiler C++ 32 bit thì int mặc định sẽ là 32 byte, và ngược lại với 64 bit.
Toán tử SizeOf()
Bạn có thể sử dụng toán sử SizeOf để xác định chính xác là các biến của bạn đang sử dụng bao nhiêu byte
#include <iostream>
using namespace std;
int main()
{
cout << "Kich co cua char la: " << sizeof(char) << endl;
cout << "Kich co cua int la: " << sizeof(int) << endl;
cout << "Kich co cua short int la: " << sizeof(short int) << endl;
cout << "Kich co cua long int la: " << sizeof(long int) << endl;
cout << "Kich co cua float la: " << sizeof(float) << endl;
cout << "Kich co cua double la: " << sizeof(double) << endl;
cout << "Kich co cua wchar_t la: " << sizeof(wchar_t) << endl;
return 0;
Khai báo typedef trong C/C++
Ngoài ra bạn có thể tạo ra 1 tên dữ liệu mới của bạn bằng cách khai báo typedef trong C/C++.
Ví dụ sau: chúng ta khai báo 1 loại dữ liệu mới
typedef float sothuc;
Thì thay vì sử dụng float, các bạn có thể sử dụng tiền số “sothuc”, chương trình sẽ tự hiểu đây là 1 giá trị float.
Kiểu liệt kê enum trong C/C++
Kiểu liệt kê enum cũng được dùng thường xuyên trong C/C++ dùng để đặt tên cho các trạng thái, giá trị. Mỗi Enumerator là một constant có kiểu là kiểu liệt kê
Ví dụ Để khai báo một Enumeration, bạn sử dụng từ khóa enum trong C/C++.
Enum laptrinh { web =0, ungdung, maytinh };
Và cách sử dụng Enumeration
laptrinh toithichlaptrinh;
toithichlaptrinh = web
Chúng ta tạo 1 biến toithichlaptrinh có dạng là enum laptrinh, và sau đó chúng ta gán giá trị cho biến là toithichlaptrinh = web.
Kết luận:
Các kiểu dữ liệu trong lập trình C/C++ là một phần rất cơ bản mà mọi lập trình viên C/C++ điều phải biết. Và sử dụng chúng linh hoạt để chương trình chạy trơn chu và hiệu năng nhất
Để học về C++, các bạn có thể tham khảo serie hướng dẫn C++ từ cơ bản đến nâng cao tại Ghouse.