Thứ Sáu, 5 tháng 4, 2024

5.Các kiểu dữ liệu trong lập trình C

Trước hết ta nhớ lại là CPU của máy tính chỉ nhận biết hay "hiểu" hai trạng thái Có-Không hay 1-0 mà thôi. Từ đây sinh ra khái niệm Bit, Byte, hai thuật ngữ chuyên ngành trong công nghệ.


Bit là gì?
Bit được viết tắt từ Binary digit ký hiệu là "b". Bit được biết đến là đơn vị nhỏ nhất được dùng để biểu thị thông tin của máy tính. Đây cũng là đơn vị nhỏ nhất trong việc lưu trữ thông tin trong hệ thống và lưu trữ dung lượng của các bộ nhớ như: ROM, RAM, ổ cứng, USB, thẻ nhớ…
Thông thường các bit sẽ được biểu diễn dưới dạng số nhị phân là 0 hoặc 1. Mỗi một bit ứng với một số (1 hoặc 0) và một bit chỉ có thể nhận diện được cũng như hiểu được 1 hoặc trong 2 trạng thái thông tin bật hoặc tắt, đúng hoặc sai hay có hoặc không.
Chuỗi bit là một chuỗi liên tiếp các bit (1 hoặc 0) được sử dụng để biểu diễn thông tin của một đối tượng trong máy tính. Trong ngôn ngữ lập trình, các loại dữ liệu như số, ký tự, hình ảnh, âm thanh và các thành phần khác đều được mô tả dưới dạng các dãy bit. Chẳng hạn, một ký tự chữ cái như 'a' có thể được biểu diễn bằng một chuỗi 8 bit, tương đương với 1 byte (ta sẽ nói bên dưới), với giá trị là 01100001.


Từ khái niệm Bit sẽ sinh ra khái niệm Byte.

Byte là gì?
Byte là một loại đơn vị được dùng để lưu trữ các dữ liệu trong bộ nhớ của máy tính và nó được ký hiệu là chữ B in hoa "B". Loại đơn vị này sẽ dùng để mô tả một chuỗi bit cố định, 1 Byte có 8 bit và sẽ biểu thị được 2^8=256 giá trị khác nhau của thông tin. Chính vì vậy với 1 Byte nó sẽ đủ để lưu trữ số có dấu trừ -128 đến 127 hoặc số nguyên không dấu từ 0 đến 255. Hoặc như ví dụ trên ta sẽ thấy các chữ cái a,b,c,d....mỗi chữ sẽ được biểu thị bằng 1 byte. Để thể hiện một từ chúng ta phải cần khoảng 10 byte. Và, để thể hiện một câu văn ngắn chúng ta phải cần xấp xỉ 100 byte.


Kiểu dữ liệu (Data type) là gì?
Ta có thể hiểu nôm na kiểu dữ liệu (data type) là cách để phân loại và mô tả cách dữ liệu được lưu trữ và xử lý trong ngôn ngữ lập trình. Hoặc nói cô đọng hơn, kiểu dữ liệu chính là phần xác định các giá trị mà một biến có thể nhận hay giá trị mà một hàm có thể trả về. Ví dụ biến a có kiểu dữ liệu số nguyên, biến b có kiểu dữ liệu số thực...hàm c sẽ trả về kiểu dữ liệu số nguyên, hàm d sẽ trả về kiểu dữ liệu chuỗi ký tự.

Có 4 kiểu dữ liệu trong lập trình C/C++ là: 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 là kiểu dữ liệu số học, có thể là số nguyên (integer) hoặc số thực (float).



 


Thật rắc rối vì quá nhiều kiểu tương tự, đều là int sao lại còn bày ra lắm thứ thế không biết! Thật ra, việc này giúp tiết kiệm bộ nhớ là linh động hơn trong việc lưu dữ liệu.

Ví dụ khi lưu tuổi một người ta chỉ cần dùng kiểu char hoặc unsigned char, mất có 1 byte. Vừa tiết kiệm bộ nhớ nhưng vẫn đảm bảo có thể lưu tất cả các tuổi có thể xảy ra.

Nhưng với trường hợp dữ liệu lớn hơn, như dân số trong một quốc gia thì lên tới con số hàng triệu. Do đó ta phải sử dụng loại dữ liệu khác như int

 

Kiểu dữ liệu Enum. Enumeration (hoặc enum) là kiểu dữ liệu do người dùng định nghĩa trong C. Nó chủ yếu được sử dụng để gán tên cho các hằng số nguyên (giá trị không thể thay đổi), các tên này giúp chương trình dễ đọc và dễ bảo trì.
Để tạo một enum, hãy sử dụng từ khóa enum, theo sau là tên của enum và phân tách các mục enum bằng dấu phẩy, ví dụ:

enum Bachoc {
  TIEUHOC,
  TRUNGHOC,
  DAIHOC
};


Kiểu Void. Kiểu void dùng xác định không có giá trị nào (không phải là null).



Kiểu dữ liệu nâng cao. Các kiểu dữ liệu nâng cao của C gồm:

Con trỏ (pointer)
Kiểu mảng (array)
Kiểu cấu trúc (structure)
Kiểu union
Kiểu hàm (function)



Phần tiếp theo

Phần trước

Không có nhận xét nào:

Đăng nhận xét