Jenis data C++
Apabila pengaturcaraan menggunakan bahasa pengaturcaraan, pelbagai pembolehubah diperlukan untuk menyimpan pelbagai maklumat. Apa yang disimpan oleh pembolehubah ialah lokasi memori nilai yang disimpannya. Ini bermakna apabila anda mencipta pembolehubah, beberapa ruang dikhaskan dalam ingatan.
Anda mungkin perlu menyimpan maklumat pelbagai jenis data (seperti jenis aksara, jenis aksara lebar, jenis integer, jenis titik terapung, jenis titik terapung berganda, jenis Boolean, dsb.). pada jenis data pembolehubah , untuk memperuntukkan memori dan memutuskan perkara yang hendak disimpan dalam memori simpanan.
Jenis terbina dalam asas
C++ menyediakan pengaturcara dengan pelbagai jenis data terbina dalam dan jenis data yang ditentukan pengguna. Jadual berikut menyenaraikan tujuh jenis data C++ asas:
类型 | 关键字 |
---|---|
布尔型 | bool |
字符型 | char |
整型 | int |
浮点型 | float |
双浮点型 | double |
无类型 | void |
宽字符型 | wchar_t |
Sesetengah jenis asas boleh diubah suai dengan satu atau lebih pengubah jenis:
ditandatangani
tidak bertanda
pendek
panjang
Jadual berikut menunjukkan memori yang diperlukan oleh pelbagai jenis pembolehubah untuk menyimpan nilai dalam ingatan, serta nilai maksimum dan minimum yang boleh disimpan oleh pembolehubah jenis itu.
类型 | 位 | 范围 |
---|---|---|
char | 1 个字节 | -128 到 127 或者 0 到 255 |
unsigned char | 1 个字节 | 0 到 255 |
signed char | 1 个字节 | -128 到 127 |
int | 4 个字节 | -2147483648 到 2147483647 |
unsigned int | 4 个字节 | 0 到 4294967295 |
signed int | 4 个字节 | -2147483648 到 2147483647 |
short int | 2 个字节 | -32768 到 32767 |
unsigned short int | Range | 0 到 65,535 |
signed short int | Range | -32768 到 32767 |
long int | 4 个字节 | -2,147,483,647 到 2,147,483,647 |
signed long int | 4 个字节 | 与 long int 相同 |
unsigned long int | 4 个字节 | 0 到 4,294,967,295 |
float | 4 个字节 | +/- 3.4e +/- 38 (~7 个数字) |
double | 8 个字节 | +/- 1.7e +/- 308 (~15 个数字) |
long double | 8 个字节 | +/- 1.7e +/- 308 (~15 个数字) |
wchar_t | 2 或 4 个字节 | 1 个宽字符 |
Seperti yang dapat dilihat daripada jadual di atas, saiz pembolehubah akan berbeza-beza bergantung pada pengkompil dan komputer yang digunakan.
Contoh di bawah akan mengeluarkan saiz pelbagai jenis data pada komputer anda.
#include <iostream> using namespace std; int main() { cout << "Size of char : " << sizeof(char) << endl; cout << "Size of int : " << sizeof(int) << endl; cout << "Size of short int : " << sizeof(short int) << endl; cout << "Size of long int : " << sizeof(long int) << endl; cout << "Size of float : " << sizeof(float) << endl; cout << "Size of double : " << sizeof(double) << endl; cout << "Size of wchar_t : " << sizeof(wchar_t) << endl; return 0; }
Contoh ini menggunakan endl, yang akan memasukkan aksara baris baharu selepas setiap baris Operator << Kami juga menggunakan fungsi sizeof() untuk mendapatkan saiz pelbagai jenis data.
Apabila kod di atas disusun dan dilaksanakan, ia menghasilkan keputusan berikut, yang akan berbeza-beza bergantung pada komputer yang digunakan:
Size of char : 1 Size of int : 4 Size of short int : 2 Size of long int : 4 Size of float : 4 Size of double : 8 Size of wchar_t : 4
pengisytiharan typedef
Anda boleh menggunakan typedef untuk memberikan jenis yang sedia ada nama baharu. Berikut ialah sintaks untuk mentakrifkan jenis baharu menggunakan typedef:
typedef type newname;
Sebagai contoh, pernyataan berikut akan memberitahu pengkompil bahawa kaki adalah nama lain untuk int:
typedef int feet;
Sekarang, pengisytiharan berikut adalah sepenuhnya Secara sah, ia mewujudkan jarak pembolehubah integer:
feet distance;
Jenis penghitungan
Jenis penghitungan mengisytiharkan nama jenis pilihan dan satu set pengecam yang digunakan sebagai nilai jenis. Pengecam sifar atau lebih boleh digunakan sebagai nilai jenis ini. Setiap enumerator ialah pemalar jenis enumerasi.
Untuk membuat penghitungan, anda perlu menggunakan kata kunci enum. Bentuk umum jenis penghitungan ialah:
enum enum-name { list of names } var-list;
Di sini, nama-enum ialah nama jenis penghitungan. Senarai nama { senarai nama } dipisahkan koma.
Sebagai contoh, kod berikut mentakrifkan penghitungan warna dan jenis pembolehubah c ialah warna. Akhirnya, c diberikan nilai "biru".
enum color { red, green, blue } c; c = blue;
Secara lalai, nama pertama mempunyai nilai 0, nama kedua mempunyai nilai 1, nama ketiga mempunyai nilai 2, dan seterusnya. Walau bagaimanapun, anda juga boleh menetapkan nilai khas pada nama dengan menambah nilai awal. Contohnya, dalam penghitungan di bawah, hijau mempunyai nilai 5.
enum color { red, green=5, blue };
Di sini, biru mempunyai nilai 6 kerana, secara lalai, setiap nama adalah 1 lebih besar daripada nama sebelumnya.