LATEST

Các kiểu dữ liệu trong C / C++

Trong bài viết này, codehow sẽ giới thiệu đến các bạn các kiểu dữ liệu trong C / C++. Đây là kiến thức rất quan trọng bởi vì các bạn muốn sử dụng kiểu dữ liệu nào thì cần biết được giới hạn của kiểu dữ liệu đó.

Mình sẽ đưa ra các loại dữ liệu có trong C / C++ cùng với đó là giá trị giới hạn của từng loại dữ liệu. Điều này giúp các bạn sử dụng không gian bộ nhớ một cách tối ưu và không bị dư thừa.

Các kiểu dữ liệu trong C / C++

Kiểu dữ liệu chỉ định kiểu dữ liệu của một biến có thể lưu trữ, ví dụ như kiểu số nguyên (interger), số thực (float), ... .

bai7 01 png

Có bốn kiểu dữ liệu lớn trong C / C++ là Basic, Derived, Enumeration, Void. Cụ thể như sau:

Types Data types
Basic Data Type int, char, float, double
Derived Data Type array, pointer, structure, union
Enumeration Data Type enum
Void Data Type void

Giới hạn giá trị của các kiểu dữ liệu trong C / C++

Để việc sử dụng dữ liệu không bị dư thừa, chúng ta cần biết được giới hạn của từng kiểu dữ liệu. Điều này giúp chúng ta lựa chọn kiểu dữ liệu phù hợp để lưu trữ.

Ví dụ: chúng ta muốn lưu trữ số nguyên dương bắt đầu từ 0 thì nên chọn kiểu unsigned short int.

Dưới đây là bảng giới hạn giá trị của các kiểu dữ liệu trong C / C++, các bạn có thể xem qua nhé.

Data Types Memory Size Range
char 1 byte -128 to 127
signed char 1 byte -128 to 127
unsigned 1 byte 0 to 255
short 2 byte -32,768 to 32,767
signed short 2 byte -32,768 to 32,767
unsigned short 2 byte 0 to 65,353
int 2 byte −32,768 to 32,767
signed int 2 byte −32,768 to 32,767
unsigned int 2 byte 0 to 65,353
short int 2 byte −32,768 to 32,767
signed short int 2 byte −32,768 to 32,767
unsigned short int 2 byte 0 to 65,353
long int 4 byte -2,147,483,648 to 2,147,483,647
signed long int 4 byte -2,147,483,648 to 2,147,483,647
unsigned long int 4 byte 0 to 4,294,967,295
float 4 byte
double 8 byte
long double 10 byte

Trong các kiểu dữ liệu, khi bạn thêm từ khóa signed để định nghĩa miền giá trị từ âm tới dương. Thêm từ khóa unsigned để định nghĩa giá trị dương, bắt đầu từ 0 đến nhân đôi miền giá trị.

Ví dụ:

  • Kiểu int có miền giá trị từ -32,768 đến 32767.
  • Kiểu signed int có miền giá trị từ -32,768 đến 32,767.
  • Kiểu unsigned có miền giá trị từ 0 đến 65,353.

Định nghĩa kiểu dữ liệu bằng TYPEDEF trong C / C++

Từ khóa TYPEDEF được sử dụng để đặt lại tên mới cho một kiểu dữ liệu.

Ví dụ: Chúng ta muốn đặt tên cho kiểu int thành kieu_So_Nguyen.

typedef int kieu_So_Nguyen;

Dòng lệnh trên sẽ tạo ra một kiểu dữ liệu tên là kieu_So_Nguyen và nó là bản sao của kiểu int. Lúc này chúng ta có thể sử dụng nó như bình thường.

#include <iostream.h>
using namespace std;
 
int main ()
{   
    //sử dụng typedef để đặt lại tên cho kiểu int
    typedef int kieu_So_Nguyen;
    //sử dụng tên dữ liệu mới để khai báo
    kieu_So_Nguyen namsinh = 1990;
    cout << "Nam sinh cua toi la:" << namsinh;

    cout<<"\n-------------------------\n";
    cout<<"\nChuong trinh nay duoc dang tai Codehow.net\n";
    return 0;
}

Kết quả:

bai7 02 png

Xem kích thước của các kiểu dữ liệu trong C / C++

Để có thể xem kích thước của các kiểu dữ liệu trong C / C++, ta sử dụng hàm sizeof().

Ví dụ:

#include <iostream>
using namespace std;
  
int main()
{
   cout << "char la: " << sizeof(char) << endl;
   cout << "int la: " << sizeof(int) << endl;
   cout << "short int la: " << sizeof(short int) << endl;
   cout << "long int la: " << sizeof(long int) << endl;
   cout << "float la: " << sizeof(float) << endl;
   cout << "double la: " << sizeof(double) << endl;
    
   cout<<"\n-------------------------\n";
   cout<<"\nChuong trinh nay duoc dang tai Codehow.net\n";
   return 0;
}

Kết quả:

bai7 03 png

Ví dụ sử dụng các kiểu dữ liệu trong C / C++

Trong phần này mình sẽ đưa ra hai ví dụ đơn giản, sử dụng các kiểu dữ liệu với hai ngôn ngữ khác nhau là C và C ++.

Ví dụ 1: Yêu cầu người dùng nhập vào một ký tự, một số nguyên, một số thực rồi hiển thị ra màn hình sử dụng ngôn ngữ C.

//khai báo thư viện stdio.h
#include <stdio.h>
int main(void) {
  int a;
  char s;
  float b;

  printf("Nhap vao mot ky tu: ");
  scanf("%s", &s);
  printf("Nhap vao mot so nguyen: ");
  scanf("%d", &a);
  printf("Nhap vao mot so thuc: ");
  scanf("%f", &b);

  printf("Ky tu vua nhap la: %s\n", &s);
  printf("So nguyen vua nhap la: %d\n", a);
  printf("So thuc vua nhap la: %0.1f\n", b);
  printf("\n-------------------------\n");
  printf("\nChuong trinh nay duoc dang tai Codehow.net\n");
  return 0;
}

Kết quả:

bai7 05 png

Ví dụ 2: Yêu cầu người dùng nhập vào một chuỗi sử dụng ngôn ngữ C++.

//khai báo thư viện iostream
#include <iostream>
//sử dụng namespace std
using namespace std;
int main() {
  string s;
  cout<<"Nhap vao chuoi s: ";
  cin>>s;
  cout<<"Chuoi s ban vua nhap la: "<<s<< endl;
  
  cout<<"\n-------------------------\n";
  cout<<"\nChuong trinh nay duoc dang tai Codehow.net\n";
}

Kết quả:

bai7 06 png

Lời kết

Như vậy là chúng ta đã cùng nhau tìm hiểu về các kiểu dữ liệu trong C / C++. Đây là các kiến thức rất quan trọng vì vậy các bạn cần nắm vững nó. Ở bài tiếp theo mình sẽ giới thiệu đến các bạn các toán tử trong C / C++, hãy chú ý theo dõi nhé !!!

Cùng chuyên mục:

Danh sách liên kết (Linked List) là gì? Các loại danh sách liên kết

Danh sách liên kết (Linked List) là gì? Các loại danh sách liên kết

Sử dụng đệ quy để giải bài toán tháp Hà Nội

Sử dụng đệ quy để giải bài toán tháp Hà Nội

Đệ quy tương hỗ (Mutual Recursion) trong C / C++

Đệ quy tương hỗ (Mutual Recursion) trong C / C++

Đệ quy lồng (Nested Recursion) trong C / C++

Đệ quy lồng (Nested Recursion) trong C / C++

Đệ quy đa tuyến (Exponential Recursion) trong C / C++

Đệ quy đa tuyến (Exponential Recursion) trong C / C++

Đệ quy nhị phân (Binary Recursion) trong C / C++

Đệ quy nhị phân (Binary Recursion) trong C / C++

Đệ quy đuôi (Tail Recursion) trong C / C++

Đệ quy đuôi (Tail Recursion) trong C / C++

Đệ quy tuyến tính (Linear Recursion) trong C / C++

Đệ quy tuyến tính (Linear Recursion) trong C / C++

Hàm đệ quy là gì? Các loại hàm đệ quy trong C / C++

Hàm đệ quy là gì? Các loại hàm đệ quy trong C / C++

Thuật toán sắp xếp Quick Sort trong C / C++

Thuật toán sắp xếp Quick Sort trong C / C++

Thuật toán sắp xếp trộn (Merge Sort) trong C / C++

Thuật toán sắp xếp trộn (Merge Sort) trong C / C++

Thuật toán sắp xếp chọn (Selection Sort) trong C / C++

Thuật toán sắp xếp chọn (Selection Sort) trong C / C++

Thuật toán sắp xếp chèn (Insertion Sort) trong C / C++

Thuật toán sắp xếp chèn (Insertion Sort) trong C / C++

Thuật toán sắp xếp nổi bọt (Bubble Sort) trong C / C++

Thuật toán sắp xếp nổi bọt (Bubble Sort) trong C / C++

Thuật toán tìm kiếm nội suy (Interpolation Search) trong C / C++

Thuật toán tìm kiếm nội suy (Interpolation Search) trong C / C++

Thuật toán tìm kiếm nhị phần (Binary Search) trong C / C++

Thuật toán tìm kiếm nhị phần (Binary Search) trong C / C++

Thuật toán tìm kiếm tuyến tính (Linear Search) trong C / C++

Thuật toán tìm kiếm tuyến tính (Linear Search) trong C / C++

Thuật toán kiểm tra năm nhuận trong C / C++

Thuật toán kiểm tra năm nhuận trong C / C++

Thuật toán kiểm tra số chẵn lẻ trong C / C++

Thuật toán kiểm tra số chẵn lẻ trong C / C++

Thuật toán tính lũy thừa trong C / C++

Thuật toán tính lũy thừa trong C / C++

Top