Bài viết này được đăng tại
freetuts.net
Bạn đang đọc: Các kiểu dữ liệu trong C++ và cách khai báo
, không được copy dưới mọi hình thức.
Thông thường tất cả chúng ta chia ra làm hai loại kiểu tài liệu đó là chữ và số. Nhưng trong lập trình việc chia ra hai loại như vậy không rõ ràng và không tương thích, vì đôi lúc sẽ dẫn đến sử dụng khoảng trống trong bộ nhớ một cách dư thừa. Để rõ hơn thì tất cả chúng ta sẽ xem list những kiểu tài liệu trong C + + ở bảng dưới đây .
Tóm Tắt
1. Danh sách các kiểu dữ liệu trong C++
Sau đây là list những kiểu tài liệu và độ lớn của từng kiểu tài liệu được tàng trữ trong bộ nhớ máy tính .
Loại dữ liệu | Kiểu dữ liệu | Số ô nhớ | Miền giá trị |
---|---|---|---|
Boolean | bool | 1 byte | 0 hoặc 1. Trong đó 0 => FALSE và 1 => TRUE |
Ký tự | char | 1 byte | -128 … 127 hoặc 0 … 255 |
– | unsign char | 1 byte | 0 … 255 |
– | sign char | 1 byte | -128 … 127 |
Số nguyên | int | 4 byte | -2147483648 … 2147483647 |
– | unsign int | 4 byte | 0 … 4294967295 |
– | sign int | 4 byte | -2147483648 … 2147483647 |
– | short | 2 byte | -32768 .. 32767 |
– | long | 4 byte | -215 … 215 – 1 |
Số thực | float | 4 byte | ±10-37 … ±10+38 |
– | double | 8 byte | ±10-307 … ±10+308 |
Đây là những kiểu tài liệu đơn thuần có sẵn trong C + +, còn những kiểu tài liệu phức tạp như struct hoặc đối tượng người dùng do người dùng định nghĩa thì tất cả chúng ta sẽ tìm hiểu và khám phá ở một bài khác .
Trong những kiểu tài liệu trên bạn thêm từ khóa sign để định nghĩa miền giá trị từ âm tới dương, bổ trợ từ khóa unsign để định nghĩa miền giá trị chỉ số dương. Trường hợp chỉ số dương thì mở màn từ 0 và nhân đôi miền giá trị lên .
Ví dụ:
- Kiểu
char
có miền giá trị từ -128 … 127 - Kiểu
sign char
có miền giá trị từ -128 … 127 - Kiểu
unsign char
có miền giá trị từ 0 … 255 (255 ~ 127×2, nhân đôi lên vì bắt đầu từ 0)
Vì nhiều kiểu tài liệu nên mình không liệt kê hết, bạn hãy tự giám sát để đưa ra miền giá trị cho những kiểu giá trị còn lại nhé .
Nhìn vào bảng này bạn sẽ vấn đáp được yếu tố mà mình nói ở phần mở màn, đó là việc khai báo biến dư thừa khoảng trống trong bộ nhớ. Mỗi kiểu tài liệu sẽ có số byte khác nhau, tức là chúng sẽ chiếm bộ nhớ càng nhỏ nếu số byte càng nhỏ. Vì vậy, khi sử dụng những kiểu tài liệu thì ta phải xem xét thống kê giám sát thật kỹ. Ví dụ để tàng trữ tên thì tất cả chúng ta sử dụng kiểu char là được .
2. Giới hạn các kiểu dữ liệu trong C++
Trước khi vào vấn đề thì bạn cần phải biết đơn vị byte và bit, hai đơn vị này se có công thức chuyển đổi như sau: 1 byte = 8 bit. Mỗi bit sẽ là một ô nhớ trong bộ nhớ máy tính. Mình chỉ giải thích các kiểu dữ liệu chuẩn, còn các kiểu định nghĩa bởi sign
và unsign
thì bạn tự tính toán nhé.
Bây giờ chúng ta sẽ tìm hiểu chi tiết cụ thể từng loại dữ liệu đã được đề cập ở bảng trên.
Kiểu ký tự:
Có hai kiểu dữ liệu thuộc loại dữ liệu ký tự đó là kiểu char
và unsign char
. Cả hai đều có chiều dài tối đa là 255 ký tự nhưng với unsign char
thì phạm vi biểu diễn sẽ bắt đầu từ 0.
Mỗi ký tự char sẽ chiếm 1 byte ( 8 bit ) trong bộ nhớ và chúng được trình diễn trải qua bảng mã ASCII .
Kiểu dữ liệu | Số ô nhớ | Giới hạn |
---|---|---|
char | 1 byte | – 128 … 127 |
unsign char | 1 byte | 0 … 255 |
Kiểu số nguyên:
Kiểu số nguyên là kiểu số mà khi chia cho 1 sẽ dư 0, nghĩa là đây là một số ít không có dấu phẩy động .
Chúng ta có các kiểu dữ liệu số nguyên đó là int
, unsign int
, short
, long
, unsign long
. Phạm vi biểu diễn và kích thước của chúng sẽ tăng dần.
Kiểu dữ liệu | Số ô nhớ | Giới hạn |
---|---|---|
int | 2 byte | -32768 .. 32767 |
unsign int | 2 byte | 0 .. 65535 |
short | 2 byte | -32768 .. 32767 |
long | 4 byte | -2147483648 đến 2147483647 |
unsign long | 4 byte | 0 đến 4294967295 |
Kiểu ký tự cũng hoàn toàn có thể được xem là kiểu số nguyên nếu màn biểu diễn trải qua bảng mã ASCII .
Kiểu số thực:
Kiểu số thực là kiểu có dấu phảy động, tức là khi chia số đó cho 1 thì sẽ có dư. Ví dụ 2,5 là kiểu số thực .
Chúng ta có hai kiểu dữ liệu biểu diễn cho số thực đó là float
và double
và long double
.
Kiểu dữ liệu | Số ô nhớ | Giới hạn | Chữ số có nghĩa |
---|---|---|---|
float | 4 byte | 3.4E-38 đến 3.4E+38 | 7 đến 8 |
double | 8 byte | 1.7E-308 đến 1.7E+308 | 15 đến 16 |
long double | 10 byte | 3.4E-4932 đến 1.1E4932 | 17 đến 18 |
3. Định nghĩa kiểu dữ liệu bằng TYPEDEF trong C++
Từ khóa typedef
dùng để đặt tên lại hoặc đặt tên mới cho một kiểu dữ liệu.
Ví dụ bạn muốn đặt một tên khác cho kiểu int thì làm như sau :
typedef int kieu_so_nguyen;
Đoạn code trên sẽ tạo một kiểu dữ liệu tên là kieu_so_nguyen
và nó là một bản sao của kiểu int
. Lúc này bạn có thể sử dụng bình thường như sau:
#includeusing namespace std; int main () { typedef int kieu_so_nguyen; kieu_so_nguyen namsinh = 1990; cout << "Nam sinh cua toi la:"; cout << endl; cout << namsinh; cout << endl; return 1; }
Chương trình này hoạt động giải trí thông thường .
Ngoài ra bạn hoàn toàn có thể định nghĩa một kiểu tài liệu đã số lượng giới hạn ký tự như ví dụ dưới đây :
typedef char character[200];
Đoạn code này tạo một kiểu dữ liệu char
200 ký tự và gán nó với cái tên là character
. Bây giờ để khai báo một kiểu char 200 ký tự thì bạn sẽ thông qua kiểu character
.
#includeusing namespace std; int main () { typedef char character[200]; character HoTen; cout << "Nhap ho ten cua ban:"; cin >> HoTen; cout << endl; cout << "Ho ten cua ban la:"; cout << HoTen; cout << endl; return 1; }
Kết quả :
Việc đặt lại tên nay sẽ rất hữu dụng nếu trong chương trình sử dụng nhiều lần cùng một kiểu tài liệu và cùng độ dài .
4. Khai báo kiểu dữ liệu cho biến C++
Khi khai báo biến thì bắt buộc bạn phải chọn một trong những kiểu tài liệu ở trên cho biến đó .
Ví dụ: Khai báo kiểu dữ liệu cho các biến
int namsinh; char ten[200]; float diem_thi;
Giải thích:
- namsinh: Là một số nguyên nên mình chọn kiểu
int
. - ten: là kiểu ký tự nên mình chọn kiểu
char
. - diem: điểm có dấu phẩy động nên mình chọn kiểu
float
.
5. Xem kích thước của các kiểu dữ liệu C++
Để xem kích cỡ của các kiểu dữ liệu thì ta dùng từ khóa sizeof
.
Ví dụ:
#includeusing namespace std; int main() { cout << "char la: " << sizeof(char) << endl; cout << "int la: " << sizeof(int) << endl; cout << "short int la: " << sizeof(short int) << endl; cout << "long int la: " << sizeof(long int) << endl; cout << "float la: " << sizeof(float) << endl; cout << "double la: " << sizeof(double) << endl; return 1; }
Kết quả :
6. Lời kết
Với những kiểu tài liệu cơ bản trên bạn hoàn toàn có thể viết những chương trình cơ bản, và từ những kiểu tài liệu này sau này tất cả chúng ta sẽ kiến thiết xây dựng thành những kiểu tài liệu phức tạp hơn .
Bài tiếp theo tất cả chúng ta sẽ tìm hiểu và khám phá cách viết ghi chú trong C + + .
Source: https://final-blade.com
Category: Kiến thức Internet