Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Bahasa C

C - Tipe Data

Tipe data dalam c mengacu pada sistem ekstensif yang digunakan untuk mendeklarasikan variabel atau fungsi dari tipe yang berbeda. Jenis variabel menentukan berapa banyak ruang yang ditempati dalam penyimpanan dan bagaimana pola bit yang disimpan ditafsirkan.

Tipe-tipe dalam C dapat diklasifikasikan sebagai berikut

No.Sr. Jenis &Deskripsi
1

Tipe Dasar

Mereka adalah tipe aritmatika dan selanjutnya diklasifikasikan ke dalam:(a) tipe integer dan (b) tipe floating-point.

2

Jenis yang dihitung

Sekali lagi mereka adalah tipe aritmatika dan digunakan untuk mendefinisikan variabel yang hanya dapat menetapkan nilai integer diskrit tertentu di seluruh program.

3

Tipe batal

Penentu tipe void menunjukkan bahwa tidak ada nilai yang tersedia.

4

Jenis turunan

Mereka termasuk (a) tipe Pointer, (b) tipe Array, (c) tipe Struktur, (d) tipe Union dan (e) tipe Fungsi.

Tipe array dan tipe struktur disebut secara kolektif sebagai tipe agregat. Jenis fungsi menentukan jenis nilai kembalian fungsi. Kita akan melihat tipe dasar di bagian berikut, sedangkan tipe lainnya akan dibahas di bab mendatang.

Jenis Bilangan Bulat

Tabel berikut memberikan detail tipe integer standar dengan ukuran penyimpanan dan rentang nilainya

Jenis Ukuran penyimpanan Rentang nilai
chart 1 byte -128 hingga 127 atau 0 hingga 255
char yang tidak ditandatangani 1 byte 0 hingga 255
char bertanda tangan 1 byte -128 hingga 127
int 2 atau 4 byte -32.768 hingga 32.767 atau -2.147.483.648 hingga 2.147.483.647
int tidak ditandatangani 2 atau 4 byte 0 hingga 65.535 atau 0 hingga 4.294.967.295
pendek 2 byte -32,768 hingga 32,767
singkat tanpa tanda tangan 2 byte 0 hingga 65.535
panjang 8 byte atau (4 byte untuk OS 32 bit) -9223372036854775808 hingga 9223372036854775807
unsigned long 8 byte 0 hingga 18446744073709551615

Untuk mendapatkan ukuran yang tepat dari suatu jenis atau variabel pada platform tertentu, Anda dapat menggunakan sizeof operator. Ekspresi sizeof(type) menghasilkan ukuran penyimpanan objek atau jenis dalam byte. Diberikan di bawah ini adalah contoh untuk mendapatkan ukuran berbagai jenis pada mesin menggunakan konstanta berbeda yang ditentukan dalam file header limit.h −

Demo Langsung
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include <float.h>

int main(int argc, char** argv) {

    printf("CHAR_BIT    :   %d\n", CHAR_BIT);
    printf("CHAR_MAX    :   %d\n", CHAR_MAX);
    printf("CHAR_MIN    :   %d\n", CHAR_MIN);
    printf("INT_MAX     :   %d\n", INT_MAX);
    printf("INT_MIN     :   %d\n", INT_MIN);
    printf("LONG_MAX    :   %ld\n", (long) LONG_MAX);
    printf("LONG_MIN    :   %ld\n", (long) LONG_MIN);
    printf("SCHAR_MAX   :   %d\n", SCHAR_MAX);
    printf("SCHAR_MIN   :   %d\n", SCHAR_MIN);
    printf("SHRT_MAX    :   %d\n", SHRT_MAX);
    printf("SHRT_MIN    :   %d\n", SHRT_MIN);
    printf("UCHAR_MAX   :   %d\n", UCHAR_MAX);
    printf("UINT_MAX    :   %u\n", (unsigned int) UINT_MAX);
    printf("ULONG_MAX   :   %lu\n", (unsigned long) ULONG_MAX);
    printf("USHRT_MAX   :   %d\n", (unsigned short) USHRT_MAX);

    return 0;
}

Saat Anda mengkompilasi dan menjalankan program di atas, itu menghasilkan hasil berikut di Linux

CHAR_BIT    :   8
CHAR_MAX    :   127
CHAR_MIN    :   -128
INT_MAX     :   2147483647
INT_MIN     :   -2147483648
LONG_MAX    :   9223372036854775807
LONG_MIN    :   -9223372036854775808
SCHAR_MAX   :   127
SCHAR_MIN   :   -128
SHRT_MAX    :   32767
SHRT_MIN    :   -32768
UCHAR_MAX   :   255
UINT_MAX    :   4294967295
ULONG_MAX   :   18446744073709551615
USHRT_MAX   :   65535

Jenis Titik Mengambang

Tabel berikut memberikan detail tipe floating-point standar dengan ukuran penyimpanan dan rentang nilai serta presisinya

Ketik Ukuran penyimpanan Rentang nilai Presisi
mengambang 4 byte 1.2E-38 hingga 3.4E+38 6 tempat desimal
dua kali lipat 8 byte 2.3E-308 hingga 1.7E+308 15 tempat desimal
ganda panjang 10 byte 3.4E-4932 hingga 1.1E+4932 19 tempat desimal

File header float.h mendefinisikan makro yang memungkinkan Anda menggunakan nilai-nilai ini dan detail lainnya tentang representasi biner dari bilangan real dalam program Anda. Contoh berikut mencetak ruang penyimpanan yang diambil oleh tipe float dan nilai jangkauannya

Demo Langsung
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include <float.h>

int main(int argc, char** argv) {

    printf("Storage size for float : %d \n", sizeof(float));
    printf("FLT_MAX     :   %g\n", (float) FLT_MAX);
    printf("FLT_MIN     :   %g\n", (float) FLT_MIN);
    printf("-FLT_MAX    :   %g\n", (float) -FLT_MAX);
    printf("-FLT_MIN    :   %g\n", (float) -FLT_MIN);
    printf("DBL_MAX     :   %g\n", (double) DBL_MAX);
    printf("DBL_MIN     :   %g\n", (double) DBL_MIN);
    printf("-DBL_MAX     :  %g\n", (double) -DBL_MAX);
    printf("Precision value: %d\n", FLT_DIG );

    return 0;
}

Saat Anda mengkompilasi dan menjalankan program di atas, itu menghasilkan hasil berikut di Linux

Storage size for float : 4 
FLT_MAX      :   3.40282e+38
FLT_MIN      :   1.17549e-38
-FLT_MAX     :   -3.40282e+38
-FLT_MIN     :   -1.17549e-38
DBL_MAX      :   1.79769e+308
DBL_MIN      :   2.22507e-308
-DBL_MAX     :  -1.79769e+308
Precision value: 6

Tipe kosong

Jenis void menentukan bahwa tidak ada nilai yang tersedia. Ini digunakan dalam tiga jenis situasi

No.Sr. Jenis &Deskripsi
1

Fungsi kembali sebagai batal

Ada berbagai fungsi di C yang tidak mengembalikan nilai apa pun atau Anda dapat mengatakan mereka mengembalikan batal. Sebuah fungsi tanpa nilai kembalian memiliki tipe kembalian sebagai batal. Misalnya, void exit (int status);

2

Argumen fungsi sebagai batal

Ada berbagai fungsi di C yang tidak menerima parameter apa pun. Fungsi tanpa parameter dapat menerima kekosongan. Misalnya, int rand(void);

3

Penunjuk untuk membatalkan

Pointer bertipe void * mewakili alamat suatu objek, tetapi bukan tipenya. Misalnya, fungsi alokasi memori void *malloc( size_t size ); mengembalikan pointer ke void yang dapat dilemparkan ke tipe data apa pun.


Bahasa C

  1. Jenis Sakelar
  2. Variabel C# dan Tipe Data (Primitif)
  3. Tipe Data C++
  4. Tipe Data C
  5. Tipe Data Python
  6. Tipe Data Java (Primitif)
  7. Variabel C, Tipe Data, Konstanta
  8. 5 Berbagai Jenis Pusat Data [Dengan Contoh]
  9. 8 Berbagai Jenis Cloud Computing Di Tahun 2021
  10. 8 Berbagai Jenis Pelanggaran Data Dengan Contoh