Kích thước của c ++

Dữ liệu, biến là các tham số, giá trị để lưu trữ thông tin, trong khi làm việc với bất kỳ ngôn ngữ lập trình nào, bạn cần sử dụng các loại biến đa dạng để lưu thông tin. Các biến có chức năng như bộ nhớ dành riêng để lưu trữ dữ liệu, Khi bạn tạo ra một biến có nghĩa là bạn tạo ra 1 bộ nhớ để lưu giá trị. Vì vậy, các giá trị trong chương trình nói chung và lập trình C++ có định dạng gì?

Mục lục bài viết

Kiểu dữ liệu trong C/C++

Vì C++ được phát triển dựa trên C nên C++ và C có cùng các kiểu dữ liệu, các kiểu dữ liệu có sẵn trong C/C++ là những kiểu dữ liệu mà lập trình viên nào cũng cần biết.

Kiểu dữ liệuTừ khóaBooleanboolKý tựcharSố nguyênintSố thựcfloatSố thực dạng DoubledoubleKiểu không có giá trịvoidKiểu ký tự rộngwchar_t

Ngoài các cơ sở dữ liệu còn có thể được bổ sung, sửa đổi, sử dụng một hoặc nhiều công cụ sửa đổi này

  • đã ký (kiểu có dấu)
  • unsigned (kiểu không có dấu)
  • short (short data)
  • long (long data data)

Bảng sau hiển thị các loại biến, dung lượng bộ nhớ được sử dụng để lưu giá trị trong bộ nhớ, và giá trị lớn nhất và nhỏ nhất có thể được lưu giữ với các loại biến đó

KiểuĐộ rộng bitDãy giá trịchar1 byte-127 tới 127 hoặc 0 tới 255unsigned char1 byte0 tới 255signed char1 byte-127 tới 127int4 byte-2147483648 tới 2147483647unsigned int4 byte0 tới 4294967295signed int4 byte-2147483648 tới 2147483647short int2 byte-32768 tới 32767unsigned short intRange0 tới 65,535signed . 4e +/- 38 (~7 chữ số)double8 byte+/- 1. 7e +/- 308 (~15 chữ số)dài double 8 byte/- 1. 7e +/- 308 (~15 chữ số)wchar_t2 hoặc 4 byte1 ký tự rộng

Kích thước của các biến có thể khác với những gì hiển thị trên bảng, phụ thuộc vào trình biên dịch và máy tính bạn đang sử dụng

Chú thích. khi bạn lập trình và cài đặt trình biên dịch 32 bit hoặc 64 bit. thì các biến sẽ thay đổi giá trị phụ thuộc vào trình biên dịch C++ của các bạn

Ví dụ. when you use Compiler C++ 32 bit, int default will be 32 byte, and reverse back with 64 bit

Toán tử SizeOf()

Bạn có thể sử dụng toán học SizeOf để xác định chính xác các biến bạn đang sử dụng bao nhiêu byte


#include  <iostream>
using namespace std;

int main()
{
   cout << "Kich co cua char la: " << sizeof(char) << endl;
   cout << "Kich co cua int la: " << sizeof(int) << endl;
   cout << "Kich co cua short int la: " << sizeof(short int) << endl;
   cout << "Kich co cua long int la: " << sizeof(long int) << endl;
   cout << "Kich co cua float la: " << sizeof(float) << endl;
   cout << "Kich co cua double la: " << sizeof(double) << endl;
   cout << "Kich co cua wchar_t la: " << sizeof(wchar_t) << endl;
   return 0;

Khai báo typedef trong C/C++

Ngoài ra, bạn có thể tạo ra 1 tên dữ liệu mới của bạn bằng cách khai báo typedef trong C/C++

Ví dụ sau. chúng ta khai báo 1 loại dữ liệu mới

typedef float sothuc;

Thì thay vì sử dụng float, các bạn có thể sử dụng số tiền “sothuc”, chương trình sẽ tự hiểu đây là 1 giá trị float

Kiểu liệt kê enum trong C/C++

Kiểu liệt kê enum cũng được sử dụng phổ biến trong C/C++, dùng để đặt tên cho các trạng thái, giá trị. Each Enumerator is an constant has type is a kiểu liệt kê

Ví dụ Để khai báo một bảng liệt kê, bạn sử dụng từ khóa enum trong C/C++

Enum laptrinh { web =0, ungdung, maytinh };

And how to use Enumeration

laptrinh toithichlaptrinh;
toithichlaptrinh =  web

Chúng ta tạo 1 biến toithichlaptrinh có dạng là enum laptrinh, và sau đó chúng ta gán giá trị cho biến là toithichlaptrinh = web

Hằng là một giá trị hằng số không cho phép thay đổi trong quá trình chạy chương trình. Như vậy, chúng ta sử dụng hằng số khi không muốn giá trị bị thay đổi trong suốt thời gian chạy chương trình

const <kiểu dữ liệu> <tên hằng> = <giá trị>;
#define <tên hằng> <giá trị của hằng>
  • Có hai cách để định nghĩa hằng trong lập trình C
    • Từ khóa const.
      #include <stdio.h>
       
      int main() {
          const float PI = 3.14;
          printf("Gia tri PI = %f", PI);
          return 0;
      }
    • Use #define preprocessor.
      #include <stdio.h>
      #define PI 3.14159
      
      int main() {
      int r;
      float chuvi, dientich;
      
          printf("Nhap ban kinh r:"); scanf("%d", &r);
          chuvi = 2*PI*r;
          dientich = PI*r*r;
          printf("Chu vi hinh tron la: %f\n", chuvi);
          printf("Dien tich hinh tron la: %f", dientich);
      
      return 0;
      }
  • Change in C

    • Một  biến trong C  là tên của bộ nhớ. Nó được sử dụng để lưu trữ dữ liệu. Giá trị của nó có thể được thay đổi và nó có thể được sử dụng lại nhiều lần. Mỗi biến trong C có một loại dữ liệu cụ thể, xác định kích thước bộ nhớ của biến; .
    • Biến là một cách để hiển thị vị trí bộ nhớ thông qua một cái tên để nó có thể được xác định một cách dễ dàng. Tên của một biến bao gồm các chữ cái , chữ số và < . Nó bắt đầu bằng một chữ cái hoặc một gạch dưới. Biến trong C có ký tự gạch dưới. Nó bắt đầu bằng một chữ cái hoặc một gạch dưới. Biến trong C có phân biệt chữ hoa và chữ thường.
    • vị trí khai báo. Biến thường được khai báo ở đầu chương trình, đầu hàm hoặc khối lệnh
    • Có 2 loại biến theo vị trí khai báo
      • Global Translator. khai báo biến ở bên ngoài các hàm, các khối lệnh. Chu trình sống của họ từ lúc bắt đầu chương trình cho đến khi kết thúc chương trình
      • local variable. biến báo bên trong các hàm, các khối lệnh. Chu trình sống từ khi bắt đầu khối lệnh cho đến khi khối lệnh được thực thi xong
    • Đặt tên cho biến, cho hằng hay cho hàm trong C cần phải tuân thủ các quy tắc như sau

      • Name don't have to the first symbol. Ví dụ. 1st, 3ab, … is sai
      • Name does not have a way (dấu cách). Ví dụ. a b, he so a, he so b,… is sai
      • Tên không chứa các phép toán (toán tử). Ví dụ. a*b, a+b, a. b,… là sai
      • Tên không được chứa các ký tự đặc biệt như. @, #, $, …
      • Tên không bị trùng với từ khóa
      • Hai biến bất kỳ nằm trong một hàm không có cùng tên
      • Hai biến bất kỳ nằm ngoài các hàm không có cùng tên
      • Biến tên không được trùng với tên hằng
      • Có thể đặt tên biến hoặc tên hằng có cùng tên với tên hàm chứa nó, nhưng không nên làm điều này
    • Cú pháp khai báo biến. (Khi khai báo biến gắn liền với kiểu dữ liệu)
      <kiểu dữ liệu> <danh sách biến>;
    • Ví dụ. ________số 8

    Data type in C

    Chúng ta đang tìm hiểu 3 nhóm kiểu dữ liệu chính trong ngôn ngữ C

    • Sơ cấp. Basic data type of language C
    • Đã xác định người dùng. Kiểu dữ liệu người thiết lập trình tự định nghĩa
    • Nguồn gốc. Kiểu dữ liệu nâng cấp từ cơ sở dữ liệu, phục vụ cho các mục đích khác nhau

    Kích thước của c ++

    Primary (Nhôm kiểu dữ liệu cơ bản)

    1. Character Character Type
    • Kiểu ký tự char có 1 kiểu đặc biệt là String, bao gồm chuỗi nhiều ký tự liên tiếp
    • Kiểu chữ thường được sử dụng để lưu giữ các ký tự, chữ và số (Theo bảng ký tự ASCII).
      K EXPRESS LƯU TRỮ NGÀY GIÁ TRỊchar1 byte-128 tới 127 hoặc 0 tới 255unsigned char1 byte0 tới 255signed char1 byte-128 tới 127
    2. Kiểu số nguyên (kiểu int) trong C
    • Kiểu dữ liệu 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 đại (giới hạn) của kiểu giá trị sẽ chia thành các kiểu nhỏ như sau.
      KIỂUCỠ LƯU TRỮDÃY GIÁ TRỊint2 hoặc 4 bytes-32,768 tới 32,767 hoặc -2,147,483,648 tới 2,147,483,647unsigned int2 hoặc 4 bytes0 tới 65,535 hoặc 0 tới 4,294,967,295short2 bytes-32,768 tới 32,767unsigned short2 bytes0 tới 65,535long4 bytes
    3. Kiểu số thực hiện dấu chấm động (Dấu phẩy động) trong C
    • Bảng dưới đây là các kiểu số thực hiện dấu chấm động tiêu chuẩn.
      KHONGCỠ LƯU TRỮDÀY GIÁ TRỊĐỘ CHÍNH XÁCfloat4 byte1. 2E-38 tới 3. 4E+386 vị trí thập phân double8 byte2. 3E-308 tới 1. 7E+30815 vị trí thập phân dài double10 byte3. 4E-4932 tới 1. 1E+493219 vị trí thập phân
    4. Type Void

    Type void verify does not have any value. Nó được sử dụng trong 4 trường hợp sau đây

    • Hàm trả về không có giá trị. Ví dụ. vô hiệu Turn_on_led(led1);
    • Hàm không có tham số truyền vào. Ví dụ. int Turn_off_all(void);
    • Hàm không có giá trị và không có tham số truyền vào. Ví dụ. hàm void(void);
    • Con trỏ kiểu void*. Ví dụ. void *malloc (size_t size);

    Người dùng định nghĩa (Nhóm dữ liệu do người dùng định nghĩa)

    Người thiết lập trình tự định nghĩa kiểu dữ liệu mình sử dụng. Kiểu dữ liệu được định nghĩa là phải sử dụng các kiểu dữ liệu cơ bản để tạo ra. Nội dung về enum và typerdef các bạn đón xem chi tiết bài viết nha

    Derived (Nhóm kiểu dữ liệu nâng cấp)

    Đây là các kiểu dữ liệu có chức năng đặc biệt, cũng được tạo ra bởi các kiểu dữ liệu cơ bản, để sử dụng trong các trường hợp đặc biệt