Tóm Tắt
Các kiểu dữ liệu trong lập trình C
Có 3 nhóm kiểu dữ liệu chính :
- Primary: Kiểu dữ liệu cơ bản của ngôn ngữ C
- user defined: Kiểu dữ liệu người lập trình tự định nghĩa
- Derived: Kiểu dữ liệu nâng cấp từ dữ liệu cơ bản, phục vụ cho các mục đích khác nhau
Nhóm kiểu dữ liệu cơ bản
Kiểu kí tự Char
Kiểu kí tự char có 1 kiểu đặc biệt là String, bao gồm chuỗi nhiều char liên tiếp.
Bạn đang đọc: Các kiểu dữ liệu trong lập trình C
Kiểu char thường được sử dụng để lưu giữ những kí tự, những chữ và số. Theo bảng kí tự ASCII
Kiểu | Cỡ lưu trữ | Dãy 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 |
Kiểu số nguyên (kiểu int) trong C
Kiểu dữ liệu số nguyên chia thành 2 kiểu có dấu ( signal ) và không âm ( unsigned ) .
Dựa vào giá trị cực lớn ( số lượng giới hạn ) của kiểu giá trị sẽ chia thành những kiểu nhỏ như sau :
Kiểu | Cỡ lưu trữ | Dãy giá trị |
---|---|---|
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 |
Kiểu số thực dấu chấm động (Floating-Point) trong C
Bảng dưới đây đưa cho bạn những hiểu biết đơn cử về những kiểu số thực dấu chấm động tiêu chuẩn với cỡ tàng trữ và dải giá trị cũng như độ đúng chuẩn :
Kiểu | Cỡ lưu trữ | Dãy 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 |
Kiểu void
Kiểu void xác lập không có giá trị nào. Nó được sử dụng trong 4 trường hợp sau đây :
- Hàm trả về không có giá trị. VD: void Turn_on_led(led1);
- Hàm không có tham số truyền vào. VD: int Turn_off_all(void);
- Hàm không có giá trị và không có tham số truyền vào. VD: void Ham(void);
- Con trỏ kiểu void*. VD: void *malloc (size_t size); sẽ học trong các bài con trỏ.
Nhóm dữ liệu người dùng định nghĩa
Đây là những từ khóa để người lập trình tự định nghĩa kiểu dữ liệu mình sử dụng. Chúng vẫn phải sử dụng những kiểu dữ liệu cơ bản để tạo ra kiểu dữ liệu mới
Chúng ta sẽ học trong những bài enum và typerdef
Nhóm kiểu dữ liệu tăng cấp ( đặc biệt quan trọng )
Đây là những kiểu dữ liệu có công dụng đặc biệt quan trọng, tạo ra bởi những kiểu dữ liệu cơ bản, để sử dụng trong những trường hợp đặc biệt quan trọng :
Ví dụ :
- Array:mảng, là chuỗi các kiểu dữ liệu
- Pointer: con trỏ, là địa chỉ của ô nhớ
- Struct: tạo ra cấu trúc dữ liệu riêng
- Union: Tập hợp, là hợp của nhiều kiểu dữ liệu với nhau
Những kiểu này sẽ được học trong những phần sau .
Hàm sizeof
Hàm sizeof ( tham số truyền vào ) để kiểm tra xem biến, hoặc kiểu dữ liệu đó chiếm bao nhiêu byte trong bộ nhớ .
Để kiểm tra size những kiểu dữ liệu cơ bản và khoanh vùng phạm vi của nó, tất cả chúng ta hoàn toàn có thể làm như sau :
#include#include // for int,char macros #include // for float,double macros int main(){ char c; short s; int i; unsigned int ui; float f; double d; long long ll; // sizeof printf("Size of char is %d\n", sizeof c); // Ctrl C, Ctrl V printf("Size of short is %d\n", sizeof s); printf("Size of int is %d\n", sizeof i); printf("Size of unsigned int is %d\n", sizeof ui); printf("Size of float is %d\n", sizeof f); printf("Size of double is %d\n", sizeof d); printf("Size of long long is %d\n", sizeof ll); // Get min_val and max_val of data_type printf("char ranges from : %d to %d\n", CHAR_MIN, CHAR_MAX); printf("int ranges from : %d to %d\n", INT_MIN, INT_MAX); printf("unsigned int ranges from : 0 to %lli\n", UINT_MAX); }
Kết quả
Kết
Khi học kiểu dữ liệu trong C, những bạn nên focus vào những kiểu dữ liệu cơ bản, những kiểu dữ liệu khác đều được tăng trưởng dựa trên những kiểu dữ liệu cơ bản đó. Mỗi kiểu dữ liệu sẽ tương thích trong những trường hợp khác nhau. Và hãy chọn kiểu dữ liệu tương thích để tối ưu bộ nhớ chương trình nhé
Tiếp tục chuyển ngay qua bài tiếp theo trong Serie Học lập trình C từ A tới Z .
Đừng quên gia nhập Hội Anh Em Nghiện Lập trình để giao lưu và học hỏi nhé
5/5 – ( 1 bầu chọn )
Source: https://final-blade.com
Category: Kiến thức Internet