Các kiểu dữ liệu trong lập trình C/C++ (Data type)

Bài viết được sự đồng ý của tác giả Trần Hữu Cương.

Trong lập trình C/C++ (hoặc các ngôn ngữ khác), kiểu dữ liệu đại diện cho các giá trị mà một biến có thể lưu trữ hoặc một hàm có thể trả về.

Biến trong chương trình có kiểu dữ liệu nhất định, và kích thước của biến được xác định bằng số byte.

Lập trình C/C++ có tổng cộng 4 kiểu dữ liệu: Kiểu dữ liệu cơ bản, kiểu dữ liệu enum, kiểu void và kiểu dữ liệu nâng cao.

Kiểu dữ liệu cơ bản

Kiểu dữ liệu cơ bản trong lập trình là kiểu dữ liệu số học, có thể là số nguyên hoặc số thực.

Kiểu số nguyên (integer)

Có một số loại kiểu dữ liệu số nguyên trong lập trình, bao gồm:

Kiểu Kích thước Vùng giá trị
char 1 byte -128 tới 127 hoặc 0 tới 255
unsigned char 1 byte 0 tới 255
signed char 1 byte -128 tới 127
int 2 hoặc 4 bytes -32,768 tới 32,767 hoặc -2,147,483,648 tới 2,147,483,647
unsigned int 2 hoặc 4 bytes 0 tới 65,535 hoặc 0 tới 4,294,967,295
short 2 bytes -32,768 tới 32,767
unsigned short 2 bytes 0 tới 65,535
long 4 bytes -2,147,483,648 tới 2,147,483,647
unsigned long 4 bytes 0 tới 4,294,967,295

Có rất nhiều kiểu dữ liệu số học khác nhau, mỗi kiểu có đặc điểm riêng. Điều này giúp tiết kiệm bộ nhớ và linh hoạt hơn trong việc lưu trữ dữ liệu.

Khi lưu tuổi của một người, ta có thể sử dụng kiểu char hoặc unsigned char. Điều này không chỉ tiết kiệm bộ nhớ mà còn đảm bảo có thể lưu được tất cả các tuổi có thể xảy ra.

Khi xử lí dữ liệu lớn hơn, như số lượng người trong một quốc gia, con số có thể lên tới hàng triệu. Trong trường hợp này, chúng ta cần sử dụng kiểu dữ liệu int.

Kiểu số thực (float)

Có một số loại dữ liệu số thực (dấu phẩy động) tương tự như sau:

Kiểu Kích thước Vùng giá trị Độ chính xác
float 4 byte 1.2E-38 tới 3.4E+38 6 vị trí thập phân
double 8 byte 2.3E-308 tới 1.7E+308 15 vị trí thập phân
long double 10 byte 3.4E-4932 tới 1.1E+4932 19 vị trí thập phân

Mã ví dụ:

#include 
#include 
int main() {
int age = 25;
int population = 85000000; // 85 triệu
printf("Age: %d - Population: %d \n", age, population);
float pi = 3.14; // giá trị số pi
printf("pi: %f \n", pi);
printf("Storage size for int : %d \n", sizeof(int)); // kích thước kiểu int
printf("Storage size for float : %d \n", sizeof(float)); // kích thước kiểu float
return 0;
}

Kết quả:.

Các kiểu dữ liệu trong lập trình C/C++ (Data type)

Kiểu dữ liệu Enum

Enum trong ngôn ngữ C, còn được gọi là kiểu dữ liệu cố định hoặc kiểu liệt kê, được sử dụng để định nghĩa một tập hợp các giá trị có thể nhận. Mỗi giá trị trong Enum chỉ có thể là một số nguyên được xác định trước.

Kiểu Enum này tương đồng với kiểu Enum trong các ngôn ngữ lập trình như Java, Node.Js hoặc Python….

Kiểu Void

Void là một kiểu dữ liệu được sử dụng để chỉ ra rằng một phương thức hoặc hàm không trả về bất kỳ giá trị nào (không phải là null).

Nó có thể được áp dụng trong những tình huống dưới đây:

  • Kiểu trả về của một hàm được xác định dựa trên việc xem liệu hàm đó có trả về dữ liệu hay không. Nếu hàm không trả về dữ liệu nào, thì kiểu trả về của hàm đó là void.
  • Ví dụ:.

    void hello() {
    printf("hello world");
    }
  • Hàm không có tham số đầu vào được gọi là hàm với tham số void.
  • Ví dụ:. 2 cách viết dưới đây tương đương nhau:

    void hello() {
    printf("hello world");
    }
    // tương đương với
    void hello(void) {
    printf("hello world");
    }
  • Con trỏ void * được sử dụng để trỏ đến địa chỉ của một đối tượng, không phải là một kiểu dữ liệu mới.
  • Kiểu Dữ liệu nâng cao

    C trong những kiểu dữ liệu tiên tiến bao gồm:

  • Pointer (con trỏ) là một công cụ được sử dụng để tham chiếu đến vị trí bộ nhớ của một đối tượng trong lập trình.
  • Mảng, còn được gọi là kiểu dữ liệu array, là một công cụ mạnh mẽ trong lập trình.
  • Cấu trúc kiểu (structure).
  • Kiểu union.
  • Kiểu hàm (function) có thể được sử dụng như một công cụ rewrite tiếng Việt để viết lại đoạn văn.
  • Kiểu dữ liệu boolean

    Trong lập trình C/C++, kiểu bool hay boolean được sử dụng.

    Kiểu dữ liệu Boolean đại diện cho hai giá trị đúng/sai (true/false, yes/no, 1/0) để biểu thị hai giá trị thật (truth value).

    Trong ngôn ngữ lập trình C, kiểu boolean được gọi là bool. Tuy nhiên, trong Java thì kiểu này được gọi là boolean, trong Python thì gọi là bool. Tên gọi này khác nhau tùy theo ngôn ngữ được sử dụng.

    Từ đầu, ngôn ngữ C không hỗ trợ loại bool, thay vào đó nó sử dụng số nguyên để biểu diễn true/false (0 là false, không phải 0 là true). Chỉ từ phiên bản C99 standard cho ngôn ngữ C trở đi, nó mới bắt đầu hỗ trợ kiểu bool.

    Lưu ý

    Kiểu String.

    C/C++ không hỗ trợ loại dữ liệu string để hiển thị văn bản. Thay vào đó, để hiển thị các giá trị kiểu text/string, chúng ta sử dụng kiểu char. Tuy char là kiểu số, nhưng nó được hiểu thành các ký tự trong bảng mã ASCII tương ứng với giá trị của nó. Một đoạn văn bản/string trong C/C++ sẽ được biểu diễn bởi một mảng char.

    32 tương ứng với dấu cách, 48 tương ứng với ký tự ‘0’, 65 tương ứng với ký tự ‘A’.

    Để hiển thị từ “hello”, chúng ta cần một mảng char tương ứng với các giá trị [104, 101, 108, 108, 111].

    Kiểu bool.

    Trong ngôn ngữ lập trình C, kiểu bool thực chất là kiểu số nguyên (0 được hiểu là sai, còn các số khác 0 được hiểu là đúng).

    Bài viết ban đầu đã được xuất bản trên trang web codecute.Com.

    Có thể có những điều bạn quan tâm:

  • Tổng hợp vector trong ngôn ngữ lập trình C++.
  • Framework RPC nhị phân C++ hiện đại, nhẹ nhàng, không yêu cầu sinh mã code.
  • VS Code hỗ trợ thêm kiểm tra type cho JavaScript.
  • Hãy xem thêm vị trí tuyển dụng lập trình C/C++ với mức lương hấp dẫn tại đây.