Kiểu dữ liệu trong C | Laptrinhcanban.com

HOME › >>

Kiểu dữ liệu trong C

Trong ngôn ngữ lập trình C, kiểu dữ liệu là một khái niệm cơ bản và quan trọng nhất. Chúng xác định cách dữ liệu được tổ chức và lưu trữ trong bộ nhớ máy tính. Việc hiểu và sử dụng kiểu dữ liệu một cách chính xác là quyết định cho việc lập trình hiệu quả và xây dựng các ứng dụng phức tạp. Trong bài viết này, chúng ta sẽ tìm hiểu về kiểu dữ liệu trong ngôn ngữ C, các loại kiểu dữ liệu phổ biến, và cách chúng ta có thể sử dụng chúng để quản lý dữ liệu trong chương trình.

Khái Niệm Cơ Bản về Kiểu Dữ Liệu trong C

Một kiểu dữ liệu định nghĩa loại dữ liệu mà biến có thể lưu trữ. Kiểu dữ liệu xác định kiểu dữ liệu của biến, cách mà dữ liệu sẽ được biểu diễn trong bộ nhớ, và loại phép toán mà biến có thể thực hiện. Trong ngôn ngữ C, có một số kiểu dữ liệu cơ bản như sau:

  1. int: Kiểu dữ liệu này dùng để lưu trữ số nguyên. Ví dụ:
int so_nguyen = 10;
  1. float: Kiểu dữ liệu này dùng để lưu trữ số thực (số có phần thập phân). Ví dụ:
float so_thuc = 3.14;
  1. char: Kiểu dữ liệu này dùng để lưu trữ một ký tự. Ví dụ:
char ky_tu = 'A';
  1. double: Kiểu dữ liệu này tương tự như float, nhưng có độ chính xác cao hơn. Ví dụ:
double pi = 3.14159265359;
  1. bool: Kiểu dữ liệu này dùng để lưu trữ giá trị true hoặc false (1 hoặc 0). Ví dụ:
bool co_visa = true;

Kiểu Dữ Liệu Nguyên Thủy (Primitive Data Types)

Kiểu dữ liệu nguyên thủy là những kiểu dữ liệu cơ bản nhất trong C và không thể tạo ra bởi người dùng. Chúng bao gồm các kiểu dữ liệu đã nêu trên: int, float, char, double và bool. Các kiểu dữ liệu này được hỗ trợ trực tiếp bởi ngôn ngữ C và sử dụng phổ biến trong hầu hết các ứng dụng.

Kiểu dữ liệu int: Dùng để lưu trữ số nguyên. Kích thước của kiểu int phụ thuộc vào nền tảng (32-bit hoặc 64-bit), nhưng thường là 4 byte trên hầu hết các máy tính hiện đại. Kiểu int có thể lưu trữ giá trị từ -2,147,483,648 đến 2,147,483,647 trên máy tính 32-bit.

Kiểu dữ liệu float và double: Dùng để lưu trữ số thực. Kiểu float thường có kích thước 4 byte và độ chính xác khoảng 7 chữ số thập phân, trong khi kiểu double có kích thước 8 byte và độ chính xác khoảng 15 chữ số thập phân.

Kiểu dữ liệu char: Dùng để lưu trữ một ký tự. Kiểu char thường có kích thước 1 byte và có thể lưu trữ một ký tự trong bảng mã ASCII hoặc Unicode.

Kiểu dữ liệu bool: Dùng để lưu trữ giá trị logic true hoặc false. Thường được biểu diễn như 0 (false) hoặc 1 (true) trong bộ nhớ.

Kiểu Dữ Liệu Số Nguyên (Integer Data Types)

Trong C, kiểu dữ liệu số nguyên là một nhóm các kiểu dữ liệu được sử dụng để lưu trữ các số nguyên. Kiểu dữ liệu số nguyên phụ thuộc vào kích thước và phạm vi của nó trên mỗi nền tảng. Dưới đây là một số kiểu dữ liệu số nguyên phổ biến:

Kiểu dữ liệu short: Được sử dụng để lưu trữ các số nguyên ngắn. Kích thước của kiểu short thường là 2 byte.

short so_nguyen_ngan = 100;

Kiểu dữ liệu long: Được sử dụng để lưu trữ các số nguyên dài hơn kiểu int. Kích thước của kiểu long thường là 4 byte hoặc 8 byte, phụ thuộc vào nền tảng.

long so_nguyen_dai = 1000000L; // Làm cho biến so_nguyen_dai là kiểu long

Kiểu dữ liệu long long: Được sử dụng để lưu trữ các số nguyên dài hơn kiểu long. Kích thước của kiểu long long thường là 8 byte.

long long so_nguyen_rat_dai = 10000000000LL; // Làm cho biến so_nguyen

_rat_dai là kiểu long long

Kiểu dữ liệu Số Thực (Real Data Types)

Để thao tác với số thực trong C chúng ta có thể sử dụng tới 2 kiểu dữ liệu là kiểu double hoặc là kiểu float.

Kiểu double trong c

Kiểu double trong C được sử dụng để thao tác với các số thực dấu phẩy động trong chương trình C. Chúng ta khởi tạo một biến thuộc kiểu double trong C với cú pháp sau đây:

double name = value;

Ví dụ cụ thể:

double num1 = 1.234;  
double num2 = 22.3463;
double num3 = 88.52432;

Kiểu double cùng với kiểu float là hai kiểu dữ liệu được sử dụng để biểu diễn số thực dấu phẩy động trong chương trình C. Tuy nhiên do kiểu double có độ chính xác cao hơn kiểu float (thể hiện qua việc số chữ số đằng sau dấu chấm là nhiều hơn so với kiểu float), nên nó thường được sử dụng nhiều hơn trong các tính toán khoa học vốn yêu cầu cao hơn về độ chính xác.

Kiểu float trong c

Kiểu float trong C được sử dụng để thao tác với các số thực dấu phẩy động trong chương trình C. Chúng ta khởi tạo một biến thuộc kiểu float trong C với cú pháp sau đây:

float name = value;

Ví dụ cụ thể:

float num1 = 1.234; 
float num2 = 22.3463;
float num3 = 88.52432;

Kiểu double cùng với kiểu float là hai kiểu dữ liệu được sử dụng để biểu diễn số thực dấu phẩy động trong chương trình C. Mặc dù phạm vi kiểu float nằm trong kiểu double và có độ chính xác kém hơn kiểu double, tuy nhiên trong các tính toán thông thường với số thực vốn không yêu cầu quá cao về độ chính xác, và hay được làm tròn số nữa, thì kiểu float lại có lợi thế hơn kiểu double, do nó nhỏ hơn nên tốn ít bộ nhớ hơn.

Kiểu dữ liệu Ký Tự trong C

Kiểu char, hay còn gọi là kiểu ký tự trong C, được sử dụng để thao tác với các ký tự trong chương trình C. Chúng ta khởi tạo một biến thuộc kiểu char trong C với cú pháp sau đây:

char name = 'value';

Ví dụ cụ thể:

char char1 = 'a'; //Gán ký tự chữ 'a' vào biến chart1
char char2 = '?'; //Gán ký tự dấu '?'' vào biến chart2
char char3 = '8'; //Gán ký tự chữ số '8' vào biến chart3

Chúng ta sử dụng cặp dấu nháy đơn '' để biểu diễn giá trị của ký tự được gán vào biến thuộc kiểu char. Các bạn có thể tìm hiểu kỹ hơn về ký tự là gì, cũng như cách sử dụng và in kiểu ký tự ra màn hình tại bài viết sau:

Lưu ý là chúng ta chỉ sử dụng kiểu char với một ký tự. Trong trường hợp cần lưu một chuỗi ký tự thì thay vì kiểu char thông thường thì chúng ta cần sử dụng kiểu chuỗi ký tự với cách miêu tả và cú pháp khai báo khác như sau:

char name[size] = "value";

Trong đó size là độ dài của chuỗi ký tự có giá trị value cần gán, và đối số này có thể được lược bỏ.

Ví dụ cụ thể:

char str1[3] = "abc"; //Gán chuỗi ký tự "abc" vào biến chart1 có size bằng 3 
char str2[] = "abc"; //Gán chuỗi ký tự "abc" vào biến chart2 có size tự động

Bạn cũng có thể tham khảo thêm về chuỗi ký tự tại bài viết sau:

Kiểu Dữ Liệu Vô Kiểu (Void Data Type)

Kiểu dữ liệu void là một kiểu dữ liệu đặc biệt trong C. Nó thường được sử dụng để chỉ ra rằng một hàm không trả về giá trị hoặc con trỏ không trỏ đến kiểu dữ liệu cụ thể. Ví dụ:

void khong_tra_ve() {
// Hàm này không trả về giá trị
}

void* con_tro_voi_kieu_void;

Kiểu dữ liệu void thường được sử dụng khi chúng ta muốn truyền một đối số không rõ kiểu dữ liệu hoặc khi sử dụng các hàm không trả về giá trị.

Kiểu Dữ Liệu Tùy Chọn (Custom Data Types)

Trong C, bạn cũng có khả năng định nghĩa các kiểu dữ liệu tùy chỉnh bằng cách sử dụng cấu trúc (struct) hoặc liệt kê (enum). Điều này cho phép bạn tạo ra kiểu dữ liệu riêng biệt phù hợp với nhu cầu của ứng dụng.

Kiểu dữ liệu struct: Được sử dụng để tạo ra một kiểu dữ liệu tổ hợp bằng cách kết hợp nhiều kiểu dữ liệu khác lại với nhau. Ví dụ:

struct Nguoi {
char ho_ten[50];
int tuoi;
};

struct Nguoi nguoi1;

Kiểu dữ liệu enum: Được sử dụng để định nghĩa một tập hợp các giá trị cố định. Ví dụ:

enum Thang {
Thang1,
Thang2,
Thang3,
// ...
};
enum Thang thang_hien_tai = Thang2;

Quyết Định Chọn Kiểu Dữ Liệu

Khi lập trình trong ngôn ngữ C, việc lựa chọn kiểu dữ liệu phù hợp là rất quan trọng. Một lựa chọn không đúng có thể dẫn đến lãng phí tài nguyên bộ nhớ hoặc làm mất đi sự chính xác của dữ liệu. Dưới đây là một số hướng dẫn cho việc lựa chọn kiểu dữ liệu:

  1. Sử dụng kiểu dữ liệu phù hợp với dữ liệu cần lưu trữ: Đảm bảo rằng kiểu dữ liệu bạn chọn có đủ kích thước và phạm vi để lưu trữ dữ liệu mà bạn đang xử lý. Ví dụ, sử dụng kiểu int cho các biến số nguyên và kiểu float hoặc double cho các số thực.

  2. Sử dụng kiểu dữ liệu nguyên thủy khi cần thiết: Sử dụng kiểu dữ liệu nguyên thủy như int, float, và char khi bạn cần lưu trữ dữ liệu đơn giản và không cần phức tạp.

  3. Sử dụng kiểu dữ liệu tùy chỉnh khi cần thiết: Khi bạn cần lưu trữ dữ liệu có cấu trúc hoặc định nghĩa các giá trị cố định, sử dụng kiểu dữ liệu tùy chỉnh như struct hoặc enum để làm cho mã nguồn dễ đọc và hiểu hơn.

  4. Cân nhắc hiệu suất và tài nguyên: Chọn kiểu dữ liệu có kích thước phù hợp để tránh lãng phí tài nguyên bộ nhớ. Nếu bạn biết rằng dữ liệu của bạn sẽ không vượt quá một phạm vi nhất định, hãy sử dụng kiểu dữ liệu nguyên thủy có kích thước nhỏ hơn.

Kết Luận

Kiểu dữ liệu là nền tảng quan trọng của lập trình trong ngôn ngữ C. Chúng xác định cách dữ liệu được tổ chức, lưu trữ, và xử lý trong chương trình. Việc hiểu và sử dụng kiểu dữ liệu một cách chính xác là quyết định cho việc lập trình hiệu quả và xây dựng các ứng dụng phức tạp. Chọn kiểu dữ liệu phù hợp cho dữ liệu của bạn, quản lý tài nguyên bộ nhớ, và tuân theo các quy tắc đúng đắn về kiểu dữ liệu là những yếu tố quan trọng giúp bạn viết mã nguồn dễ bảo trì và tránh các lỗi lập trình không cần thiết.

URL Link

https://laptrinhcanban.com/c/lap-trinh-c-co-ban/bien-trong-c/kieu-du-lieu-trong-c/

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME  › >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.