Thông tin về các kiểu dữ liệu trong C mà bạn thường gặp

C là một ngôn ngữ lập trình rất mạnh mẽ, được sử dụng để phát triển hệ điều hành, cơ sở dữ liệu và nhiều hơn thế nữa. Đây là một ngôn ngữ tuyệt vời những người quan tâm đến ngành công nghệ thông tin có thể làm quen. Để làm việc với ngôn ngữ lập trình C, bạn sẽ cần phải hiểu rõ về các kiểu dữ liệu C. Bất cứ khi nào muốn xác định một biến trong chương trình C, chúng ta cần chỉ định kiểu dữ liệu. Điều này giúp trình biên dịch biết loại dữ liệu nào muốn thực hiện và những thao tác nào có thể được thực hiện trên nó. Hãy cùng FPT Aptech đi sâu tìm hiểu kỹ hơn về kiểu dữ liệu trong C ngay sau đây.

FPT Aptech đang tuyển sinh 50 chỉ tiêu cuối cùng ngành Lập Trình Viên Quốc Tế với ưu đãi giảm 50% học phí cho 40 thí sinh đăng ký sớm nhất trên toàn quốc.

Đăng ký ngay

Các kiểu dữ liệu trong C là gì?

Kiểu dữ liệu ( data type ) hoàn toàn có thể hiểu đơn thuần là những kiểu dữ liệu được tàng trữ sẵn trong chương trình C. Chúng thường được sử dụng trong khi xác lập một biến hoặc những hàm trong C. Điều quan trọng là trình biên dịch phải hiểu loại dữ liệu được xác lập trước mà nó sẽ gặp trong chương trình. Nói chung, kiểu dữ liệu C là một thuộc tính cho máy tính biết cách diễn giải giá trị .
Các kiểu dữ liệu trong C là kiến thức cơ bản mà “dân” lập trình cần biết
Ví dụ, nếu biến là một vùng chứa thì kiểu dữ liệu sẽ là kiểu vùng chứa, nó sẽ thông tin cho bạn đồ vật mà nó nên tiềm ẩn. Tức là bạn sẽ không tàng trữ một giá trị là số nguyên trong một biến kiểu dữ liệu String, cũng giống như bạn sẽ không bỏ một vật hình tròn trụ vào ô vuông được .
Mỗi biến trong C có một kiểu dữ liệu tương quan. Mỗi kiểu dữ liệu trong C bắt buộc phải có số lượng bộ nhớ nhất định và có những hoạt động giải trí đơn cử hoàn toàn có thể thực thi trên biến C. Kiểu dữ liệu trong C cũng sẽ chỉ định kiểu dữ liệu mà biến hoàn toàn có thể tàng trữ như kiểu số nguyên ( integer, char ), kiểu số thực ( float và double ), … Kiểu dữ liệu là tập hợp dữ liệu với những giá trị có giá trị cố định và thắt chặt, ý nghĩa cũng như đặc thù của nó .

Ví dụ về data type in C

Hãy xem xét một ví dụ về kiểu dữ liệu cơ bản trong C tại một công ty. Nơi đây sẽ tàng trữ nhiều dữ liệu khác nhau của nhân viên cấp dưới của họ như Tên, ID nhân viên cấp dưới, Tuổi, Mức lương, Địa chỉ, Số điện thoại cảm ứng, v.v.
Những dữ liệu này là những giá trị chứa bảng vần âm, số …., thế cho nên, để giúp việc giải quyết và xử lý những dữ liệu khổng lồ này trở nên dễ hiểu, thông tin đã được phân loại thành những loại khác nhau như :

  • Tên : String
  • ID : Số nguyên – Integer
  • Mức lương : Float or Double
  • Số điện thoại cảm ứng : String

Để hoàn toàn có thể hiểu được ví dụ này thì hãy cùng chúng tôi tìm hiểu và khám phá những kiểu dữ liệu trong C ngay sau đây .

Kích thước các kiểu dữ liệu trong C (Basic Types in C)

Các kiểu dữ liệu cơ bản là dựa trên số nguyên và dựa trên thập phân. Ngôn ngữ C tương hỗ cả ký tự có dấu và không dấu. Kích thước bộ nhớ của những kiểu dữ liệu cơ bản hoàn toàn có thể đổi khác theo hệ quản lý 32 hoặc 64 – bit .
Có 4 kiểu dữ liệu cơ bản ở trong C là Int, Float, Double, Char. Kích thước tàng trữ của những kiểu dữ liệu này thường hoàn toàn có thể đổi khác tùy thuộc vào hệ điều hành quản lý của chương trình ( là 32 – bit hoặc 64 – bit ). Dưới đây là những kiểu dữ liệu thường được sử dụng trong lập trình C với kích cỡ tàng trữ và khoanh vùng phạm vi giá trị của chúng, theo kiến ​ ​ trúc 32 – bit .

Kiểu Kích thước lưu trữ Vùng giá trị
Int ( or signed int ) 2 byte – 32,768 đến 32,767
unsigned int 2 byte 0 đến 65,535
Short int ( or signed short int ) 2 byte – 32,768 đến 32,767
Long ( or signed short int ) 4 byte – 2.147.483.648 đến 2.147.483.647
unsigned long 4 byte 0 đến 4,294,967,295
float 4 byte 1,2 E – 38 đến 3,4 E + 38 ( 6 chữ số thập phân )
double 8 byte 2.3 E – 308 đến 1.7 E + 308 ( 15 chữ số thập phân )
Long double 10 byte 3,4 E – 4932 đến 1,1 E + 4932 ( 19 chữ số thập phân )
char ( or signed char ) 1 byte

-128 đến 127

unsigned char 1 byte 0 đến 255

Các kiểu dữ liệu trong C mà bạn cần biết

Về cơ bản, trong ngôn từ C, sẽ sống sót bốn kiểu dữ liệu khác nhau hoàn toàn có thể được sử dụng để phân biệt và tàng trữ nhiều kiểu dữ liệu khác nhau, gồm có :

  • Các kiểu dữ liệu cơ bản ( Basic Types ) là những kiểu số học và được phân loại thành kiểu số nguyên ( int, char ) và kiểu thập phân hoặc hoàn toàn có thể gọi là dấu phẩy động ( float và double ) .
  • Các kiểu dữ liệu có nguồn gốc ( Derived types ) 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 ) .
  • Kiểu dữ liệu liệt kê ( Enumerated types ) : Cũng là kiểu số học và chúng được sử dụng để định nghĩa những biến chỉ hoàn toàn có thể gán những giá trị nguyên rời rạc nhất định trong hàng loạt chương trình .
  • Kiểu dữ liệu trống ( The type void ) : Void xác lập kiểu chỉ ra rằng không có giá trị nào .

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

Kiểu dữ liệu số nguyên – Int

Một biến kiểu số nguyên hoàn toàn có thể tàng trữ những giá trị 0, dương và âm mà không có bất kể số thập phân nào. Kiểu dữ liệu trong C số nguyên được hiển thị bằng từ khóa ‘ int ’ và nó hoàn toàn có thể có dấu hoặc không dấu. Theo mặc định, giá trị được gán cho một biến số nguyên được coi là dương nếu nó không có dấu .
Kiểu dữ liệu số nguyên được chia thành những kiểu dữ liệu short, int và long. Kiểu dữ liệu ngắn ( short ) chiếm 2 byte khoảng trống tàng trữ. Int thường là chiếm 2 hoặc 4 byte, và long chiếm 8 byte trong hệ quản lý và điều hành 64 bit và 4 byte trong hệ quản lý và điều hành 32 bit .
Vì vậy, nếu bạn nỗ lực gán giá trị thập phân cho biến số nguyên, giá trị sau số thập phân sẽ bị cắt bớt và chỉ hàng loạt số được gán cho biến. Đây là một ví dụ sẽ giúp bạn hiểu thêm về khái niệm này :
Ví dụ về kiểu dữ liệu số nguyên bạn có thể tham khảo
Trong khi thực thi một phép toán học, nếu tác dụng trả về là giá trị thập phân, thì biến sẽ chỉ gật đầu số nguyên và vô hiệu những số sau dấu thập phân. Đối với int ngắn, giá trị không đúng chuẩn sẽ được hiển thị nếu số lớn hơn 10000 .

Float data type

Kiểu dữ liệu dấu phẩy động được cho phép người dùng tàng trữ những giá trị thập phân trong một biến. Nó có hai loại : Float và Double
Biến float tàng trữ những giá trị thập phân với tối đa 6 chữ số sau vị trí thập phân. Kích thước tàng trữ của biến float là 4 byte, nhưng size hoàn toàn có thể khác nhau so với những bộ giải quyết và xử lý khác nhau, giống như kiểu dữ liệu ‘ int ’. Ví dụ :
# include
int main ( ) {
float sum = 9664.35 ;
float num = 67 ;
float trung bình = ( sum / num ) ;
printf ( “ Trung bình là % f \ n ”, trung bình ) ;
printf ( “ Giá trị của num là % f \ n ”, num ) ;
printf ( “ Giá trị của num được trình diễn dưới dạng số nguyên % d \ n ”, num ) ;
Kết quả sẽ cho ra giá trị trung bình là 144,244019 ; Giá trị của num là 67,000000 ; Giá trị của num được trình diễn dưới dạng số nguyên 0 .
Nếu bạn nỗ lực in những giá trị float với ‘ % d ’, thì tác dụng đầu ra sẽ không phải là 67. Thay vào đó, bạn sẽ thấy một giá trị rác trên màn hình hiển thị đầu ra. Do đó, so với kiểu dữ liệu trong C, những giá trị float được hiển thị bằng mã định dạng ‘ % f ’. Một biến chứa giá trị số nguyên cũng sẽ được in theo kiểu động với những số 0 dư thừa. Nếu bạn gán một giá trị nguyên cho một biến float, hiệu quả sẽ luôn là một giá trị float với những số 0 sau vị trí thập phân .
Kiểu dữ liệu double tựa như như float, nhưng ở đây, bạn hoàn toàn có thể có tối đa 10 chữ số sau vị trí thập phân. Nó được đại diện thay mặt bởi từ khóa ‘ double ’ và đa phần được sử dụng trong những chương trình khoa học đòi hỏi độ đúng mực cao .

Char – Ký tự

Char được sử dụng để tàng trữ những giá trị ký tự đơn, gồm có cả giá trị số. Nếu bạn tạo một mảng kiểu dữ liệu ký tự, nó sẽ trở thành một chuỗi hoàn toàn có thể tàng trữ những giá trị như tên, chủ đề, v.v.
Hiểu được các kiểu dữ liệu trong C không phải là điều đơn giản

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

Các kiểu dữ liệu nguyên thủy ( primitive data type ) hoặc cơ bản được sử dụng để tàng trữ những giá trị đơn lẻ của những dạng khác nhau, nhưng nếu bạn cần tàng trữ thêm những giá trị của cùng một kiểu dữ liệu thì sao ? Ở đây, những kiểu dữ liệu dẫn xuất được cho phép bạn phối hợp những kiểu dữ liệu cơ bản và tàng trữ nhiều giá trị trong một biến duy nhất .
Các kiểu dữ liệu trong C có nguồn gốc do chính người dùng xác lập, có nghĩa là bạn hoàn toàn có thể tổng hợp nhiều thành phần của những kiểu dữ liệu tựa như theo nhu yếu. Có bốn loại kiểu dữ liệu dẫn xuất : Hàm ( function ), con trỏ ( pointer ), mảng ( array ), Union .
Mảng ( array ) là một tập hợp những thành phần kiểu dữ liệu tựa như được tàng trữ trong một vị trí bộ nhớ liền kề. Ví dụ : bạn hoàn toàn có thể tàng trữ những giá trị float như dấu của sinh viên, giá trị số nguyên như số cuộn, v.v.
Con trỏ ( pointer ) là một biến dùng để lưu địa chỉ của một biến khác. Để tàng trữ địa chỉ của một biến, biến con trỏ phải có cùng kiểu dữ liệu. Point được cho phép người dùng thực thi cấp phép bộ nhớ động bằng ngôn từ C và cũng truyền những biến bằng cách tham chiếu, có nghĩa là người dùng hoàn toàn có thể chuyển con trỏ có địa chỉ của biến .
Trong ngôn từ C, cấu trúc là một kiểu dữ liệu do người dùng định nghĩa, là một nhóm những mục được sử dụng để tàng trữ những giá trị của những kiểu dữ liệu giống nhau hoặc khác nhau. Ví dụ, những cấu trúc hoàn toàn có thể được sử dụng để tàng trữ thông tin về một học viên, gồm có tên, số cuộn, điểm, v.v. Bản ghi của mỗi sinh viên sẽ được đại diện thay mặt bởi một đối tượng người tiêu dùng của cấu trúc .
Union cũng là một tập hợp những thành phần có kiểu dữ liệu giống nhau hoặc khác nhau, nhưng vị trí bộ nhớ là như nhau cho tổng thể những thành phần. Nó là một kiểu dữ liệu đặc biệt quan trọng trong ngôn từ C, nơi bạn hoàn toàn có thể khai báo nhiều biến, nhưng chỉ một biến hoàn toàn có thể lưu giá trị tại một thời gian nhất định. Union là kiểu dữ liệu trong C được hiển thị bằng ‘ union ’ .

Enumeration Data Type – Kiểu dữ liệu liệt kê

Liệt kê là một kiểu dữ liệu do người dùng định nghĩa được sử dụng để gán tên cho những hằng số tích phân và nâng cao năng lực đọc của chương trình C. Từ khóa được sử dụng để liệt kê là ‘ enum ’ với cú pháp tựa như như cấu trúc : enum flag { const1, const2, const3 … … … } ;
Có hai nguyên do chính tại sao liệt kê tốt hơn ‘ # define ’ : là hằng số enum nhận giá trị mặc định bởi trình biên dịch và chúng hoàn toàn có thể được khai báo trong khoanh vùng phạm vi cục bộ .

Kiểu dữ liệu trống (The type void)

Void là một kiểu dữ liệu trong C không tham chiếu đến bất kể giá trị nào của bất kể kiểu nào. Nó đa phần được sử dụng làm kiểu trả về trong những hàm. Bạn hoàn toàn có thể khai báo những con trỏ void để lấy địa chỉ của những biến từ bất kể kiểu dữ liệu nào. Những con trỏ này thường được gọi là ‘ con trỏ chung ’ ( generic pointers ) .
Ví dụ :
Ví dụ về kiểu dữ liệu trong C ở type void
Kết quả trả về trong chương trình ở ví dụ trên :
Tổng của x và y là 30
Giá trị được tàng trữ trong con trỏ ( ptr ) sau khi tham chiếu 10

Trong ví dụ này, hàm có tên ‘add’ có kiểu trả về là void, có nghĩa là nó sẽ không trả về bất kỳ giá trị nào cho phương thức chính. Vì vậy, người dùng phải in thông báo bên trong thân hàm hoặc viết một kiểu trả về khác.

Trong bài viết trên đây của FPT Aptech, kỳ vọng bạn đã phần nào hiểu được những kiểu dữ liệu trong C và cách chúng được chia thành những hạng mục con. Ngoài ra, những chương trình C được phân phối cho mỗi kiểu dữ liệu hiển thị cách bạn hoàn toàn có thể tiến hành chúng đúng cách và tác dụng sẽ như thế nào nếu bạn đổi khác những thuộc tính của bất kể kiểu dữ liệu nào. Vì vậy, sẽ còn rất nhiều thông tin tương quan nữa bạn cần tìm hiểu và khám phá, chúng được update vừa đủ và liên tục trên trang website của chúng tôi. Đừng bỏ lỡ nhé !