Lập trình C++

Tổng hợp các kiểu dữ liệu trong C++

Tổng hợp các kiểu dữ liệu quan trọng trong ngôn ngữ lập trình C++: Kiểu dữ liệu gốc, có nguồn gốc từ kiểu dữ liệu gốc và kiểu dữ liệu do người dùng xác định.

Trong bài viết này, Isinhvien sẽ cùng các bạn tìm hiểu các kiểu dữ liệu khác nhau trong ngôn ngữ C++ như kiểu dữ liệu int, float, double, char hoặc các kiểu dữ liệu tích hợp như union, enum, struct và các kiểu dữ liệu như hàm, con trỏ, mảng. Các kiểu dữ liệu nên được xác định trước khi thực thi vì nó thông báo cho trình biên dịch về loại dữ liệu cụ thể mà nó đang nắm giữ. 

Một kiểu dữ liệu cho biết biến, kiểu phần tử đó là gì và chắc chắn sẽ xác định cấp phát bộ nhớ của biến đó. Chúng ta đã biết rằng mỗi kiểu dữ liệu có một phân bổ bộ nhớ khác nhau. Có ba kiểu dữ liệu C ++ khác nhau, cụ thể là Kiểu dữ liệu gốc, Có nguồn gốc từ kiểu dữ liệu gốc và cuối cùng là kiểu Người dùng xác định. Bây giờ hãy cùng đi tìm hiểu lần lượt các kiểu dữ liệu trên nhé!

Các kiểu dữ liệu gốc trong C++ (Primitive Data Types)

Đây là các kiểu dữ liệu được định nghĩa trước trong C++, còn được gọi là kiểu dữ liệu tích hợp. Chúng ta có thể trực tiếp sử dụng chúng để khai báo các biến mà không cần qua bất kì bước trung gian nào.


Bảng dưới đây là 7 kiểu dữ liệu cơ bản cần phải nhớ và rất thường xuyên sử dụng trong C++.

Kiểu dữ liệuTừ khóa
Booleanbool
Ký tựchar
Số nguyênint
Số thựcfloat
Số thực dạng Doubledouble
Kiểu không có giá trịvoid
Kiểu Wide characterwchar_t
7 kiểu dữ liệu cơ bản trong C++

Bảng sau hiển thị kiểu dữ liệu, 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 dữ liệu đó:

KiểuĐộ rộng bitMiền giá trị
char1 byte-127 tới 127 hoặc 0 tới 255
unsigned char1 byte0 tới 255
signed char1 byte-127 tới 127
int4 byte-2147483648 tới 2147483647
unsigned int4 byte0 tới 4294967295
signed int4 byte-2147483648 tới 2147483647
short int2 byte-32768 tới 32767
unsigned short intRange0 tới 65,535
signed short intRange-32768 tới 32767
long int4 byte-2,147,483,647 tới 2,147,483,647
signed long int4 byteTương tự như long int
unsigned long int4 byte0 tới 4,294,967,295
float4 byte+/- 3.4e +/- 38 (~7 chữ số)
double8 byte+/- 1.7e +/- 308 (~15 chữ số)
long double8 byte+/- 1.7e +/- 308 (~15 chữ số)
wchar_t2 hoặc 4 byte1 wide character
Bảng mở rộng các kiểu dữ liệu trong C++

Tuy nhiên, bảng trên chưa chắc chắn chính xác mà kích cỡ của các kiểu trên còn phụ thuộc vào compiler và máy tính bạn đang sử dụng. Vì vậy, để xác định chính xác các kiểu dữ liệu trên máy tính của bạn thì có thể làm theo cách sau:


#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;
}

Khi chương trình trên được biên dịch và thực thi, nó cho kết quả sau (kết quả có thể đa dạng tùy thuộc vào compiler và máy tính bạn đang sử dụng). Dưới đây là kết quả biên dịch và thực thi trên máy tính mà Isinhvien đang sử dụng:

Kich co cua char la: 1
Kich co cua int la: 4
Kich co cua short int la: 2
Kich co cua long int la: 4
Kich co cua float la: 4
Kich co cua double la: 8
Kich co cua wchar_t la: 4

Các kiểu dữ liệu có nguồn gốc từ dữ liệu gốc

Đây là kiểu dữ liệu có nguồn gốc từ các kiểu dữ liệu gốc mà ta vừa tìm hiểu ở trên. Bây giờ hãy bắt đầu đi vào tìm hiểu về các kiểu dữ liệu này nhé!


Mảng

Mảng (Array) là một loại cấu trúc dữ liệu trong ngôn ngữ lập trình C++, nó lưu trữ một tập hợp tuần tự các phần tử cùng kiểu với độ dài cố định. Mảng thường được sử dụng để lưu trữ tập hợp dữ liệu, nhưng nó cũng hữu dụng khi dùng để lưu trữ một tập hợp biến có cùng kiểu.

Dưới đây là chương trình và kết quả ví dụ về mảng:

Chương trình

#include <iostream>
using namespace std;
int main()
{
int a[5]={1,6,10,15,56};
cout<< " Kich co cua mang: " << sizeof(a)<<endl;
for(int i=0;i<6;i++)
{
cout<< " Gia tri cua a["<<i<<"]:"<< a[i] <<endl;
}
}

Kết quả thực thi

Kich co cua mang: 20
Gia tri cua a[0]:1
Gia tri cua a[1]:6
Gia tri cua a[2]:10
Gia tri cua a[3]:15
Gia tri cua a[4]:56
Gia tri cua a[5]:0

Con trỏ

Con trỏ (Pointer) trong ngôn ngữ C/C++ rất dễ học và thú vị. Một vài tác vụ trong ngôn ngữ C /C++ được thực hiện dễ dàng hơn nhờ con trỏ, và những tác vụ khác trở nên linh hoạt hơn như cấp phát bộ nhớ, danh sách liên kết, hàng đợi,…


Dưới đây là một ví dụ về con trỏ:

Chương trình

#include<iostream>
using namespace std;
int main()
{
float a = 30;
float *h;
h= &a;
cout << " Gia tri cua con tro h: "<< h << endl;
cout << " Gia tri cua bien a: "<< a << endl;
cout << " Gia tri cua h: "<< *h ;
}

Kết quả

Gia tri cua con tro h: 0x6ffe04
Gia tri cua bien a: 30
Gia tri cua h: 30

Các kiểu dữ liệu do người dùng xác định

Đây là các kiểu dữ liệu do người dùng xác định tuỳ vào mục đích sử dụng khác nhau. Cùng Isinhvien đi vào tìm hiểu chi tiết hơn về các kiểu dữ liệu nãy nhé!

Kiểu cấu trúc (Structures)

Đây là kiểu dữ liệu lưu trữ sự kết hợp của các kiểu dữ liệu giống nhau hoặc khác nhau dưới các vị trí bộ nhớ liên tục. Như chúng ta đã thấy, trong mảng, chúng ta chỉ có thể lưu trữ các mục có kiểu dữ liệu giống nhau, nhưng kiểu cấu trúc có thể lưu trữ các kiểu dữ liệu khác nhau. Hãy xem một ví dụ nhỏ dưới đây để hiểu hơn nhé!


Chương trình

#include<iostream>
using namespace std;
struct Hsinh
{
int cnang = 58;
string ten = "Nam";
float ccao = 1.65;
} ;
int main()
{
struct Hsinh f;
cout<< " Ten hoc sinh: "<< f.ten <<endl;
cout<< " Chieu cao: "<< f.ccao << endl;
cout<< " Can nang: "<< f.cnang;
}

Kết quả

Ten hoc sinh: Nam
Chieu cao: 1.65
Can nang: 58

Lớp (Class)

Đây là một định nghĩa trong lập trình hướng đối tượng, nó bao gồm các hàm, biến và được truy cập bằng cách tạo các đối tượng. Sau đây là một ví dụ về lớp để các bạn tham khảo:

Chương trình

#include <iostream>
using namespace std;
class First
{
public:
string name;
void show()
{
cout << "Name is: " << name;
}
};
int main()
{
First f;
f.name = "Nam";
f.show();
return 0;
}

Kết quả

Name is: My Name

Typedef

Kiểu dữ liệu này chỉ dùng để đặt tên mới hoặc tên khác cho các kiểu dữ liệu. Xem ví dụ nhỏ sau để hiểu rõ hơn về Typedef.

Chương trình

#include <iostream>
using namespace std;
int main()
{
typedef unsigned char THISONE;
typedef unsigned int OTHERONE;
THISONE b1;
OTHERONE b2;
b1 = 'R';
b2 = 10;
cout << " Check this out: " << b1<<endl;
cout << " Check other out: " << b2;
return 0;
}

Kết quả


Check this out: R
Check other out: 10

Enumeration

Đây là kiểu dữ liệu thường được sử dụng khi chúng ta đã biết một bộ giá trị cho một biến cụ thể và chọn một giá trị duy nhất từ ​​chúng. Thường được gọi là enum. Xem ví dụ sau đây:

Chương trình

#include <iostream>
using namespace std;
enum color {Yellow, Red, Green, Blue}col;
int main()
{
col = Green;
cout<<" The color chosen is in the place: "<<col;
return 0;
}

Kết quả

The color chosen is in the place: 2

Trên đây là tất tần tật các kiểu dữ liệu quan trọng rất thường xuyên sử dụng trong ngôn ngữ lập trinh C++. Nếu các bạn thấy bài viết trên của Isinhvien hay và bổ ích, đừng quên để lại một like, một comment và chia sẻ với bạn bè để giúp Isinhvien ngày càng phát triển hơn nhé! Chúc các bạn sức khoẻ và gặt hái nhiều thành công trong cuộc sống

Mới nhất cùng chuyên mục

Back to top button
Close