C sangat ketat tentang apa yang disimpannya dalam memori. Ia tidak menebak. Anda harus memberi tahu dengan tepat jenis data apa yang Anda simpan. Ini bukan sekedar kesombongan. Ini memengaruhi cara program Anda berjalan, berapa banyak memori yang digunakan, dan apakah perhitungan Anda benar atau sia-sia.
Tipe Variabel Standar
Ada tiga tipe variabel standar di C.
Bilangan Bulat: int
Ini adalah bilangan bulat 4-byte. Ini menangani bilangan bulat.
Titik mengambang: mengambang
Ini adalah nilai floating point 4-byte. Ini menangani desimal.
Karakter: karakter
Ini adalah karakter tunggal 1 byte. Pikirkan “a” atau “3”. Sebuah string di C hanyalah sebuah array dari karakter-karakter ini.
Lalu ada tipe turunannya. Anda menggunakannya ketika tiga standar tidak cocok.
double: Nilai floating point 8 byte. Lebih presisi.short: Bilangan bulat 2 byte. Lebih sedikit memori, lebih sedikit jangkauan.unsigned shortatauunsigned int: Ini hanya menangani bilangan bulat positif. Tidak ada tanda sedikitpun. Jika Anda perlu melacak jumlah populasi atau ukuran paket, ini sering kali merupakan pilihan yang tepat.
Operator dan Prioritas Operator
Operator di C terlihat familier.
+tambahan-pengurangan/pembagian*perkalian%mod
Namun hati-hati terhadap perpecahan. Operator / melakukan pembagian bilangan bulat jika kedua operan adalah bilangan bulat. Ia melakukan pembagian floating point sebaliknya.
Lihat kode ini:
Ini mencetak nilai floating point karena a dideklarasikan sebagai tipe float. Tapi a akan menjadi 3.0. Mengapa? Karena kode tersebut melakukan pembagian bilangan bulat terlebih dahulu. 10 dibagi 3 adalah 3. Hasilnya adalah 3. Kemudian 3 tersebut diubah menjadi 3,0 bila disimpan di a. Presisinya hilang bahkan sebelum mencapai variabel.
Diutamakan operator di C mengikuti aturan standar. Pembagian dan perkalian terjadi sebelum penjumlahan dan pengurangan.
Hasil dari 5+3*4 adalah 17. Bukan 32. Operator * memiliki prioritas lebih tinggi daripada +. Anda dapat menggantinya dengan tanda kurung. (5+3)*4 adalah 32. 5+3 dievaluasi terlebih dahulu.
Prioritas menjadi berantakan nanti. Begitu petunjuk masuk ke obrolan, itu menjadi rumit. Namun untuk saat ini, ingat: kalikan dan bagi sebelum Anda menjumlahkan dan mengurangi.
Pengecoran huruf
C memungkinkan Anda mengonversi tipe dengan cepat. Anda sering melakukan ini dengan petunjuk. Hal ini juga terjadi secara otomatis selama penugasan untuk tipe tertentu.
Pada contoh di atas, hasil bilangan bulat 10/3 secara otomatis diubah menjadi float. Namun bagaimana jika Anda menginginkan desimal?
Anda melakukan typecasting dengan menempatkan nama tipe dalam tanda kurung sebelum nilainya.
Ganti a=10/3; dengan a=(float)10/3;.
Sekarang a adalah 3,33333. Angka 10 diubah menjadi nilai floating point sebelum pembagian. Pembagian tersebut terjadi di lahan floating point. Hasilnya mempertahankan angka desimalnya.
Ketikdef
Anda dapat mendeklarasikan tipe yang diberi nama dan ditentukan pengguna di C dengan pernyataan typedef. Ini biasa terjadi pada kode C.
Ini memungkinkan Anda mendeklarasikan tipe Boolean. C tidak memiliki tipe bool asli dalam standar lama, jadi ini adalah solusinya.
Jika Anda tidak menyukai kata “mengambang”, Anda dapat mengucapkan:
Kemudian nanti:
Tempatkan pernyataan typedef di mana saja dalam program. Pastikan saja mereka datang sebelum digunakan pertama kali.
Struktur
Struktur dalam C mengelompokkan variabel ke dalam sebuah paket.
Kapan pun Anda ingin mendeklarasikan struktur bertipe rec, Anda harus mengucapkan struct rec. Ini mudah untuk dilupakan. Anda akan mendapatkan kesalahan kompiler jika Anda mengabaikan struct.
Anda dapat mengompres kode:
Di sini, deklarasi tipe dan variabel r dideklarasikan dalam pernyataan yang sama.
Atau gunakan typedef untuk nama struktur. Jika Anda benci mengetik struct rec r setiap saat:
Kemudian nyatakan catatan dengan mengatakan:
Akses bidang menggunakan titik. r.a = 5;.
Array
Anda mendeklarasikan array dengan memasukkan ukuran setelah deklarasi normal.
Array adalah blok memori yang berdekatan. Mengakses indeks di luar batas adalah perilaku tidak terdefinisi. Ini mungkin crash. Ini mungkin merusak data. Ini mungkin tampak berhasil sampai ternyata tidak.
Bertambah
C memiliki pintasan untuk operasi umum.
i = i + 1;menjadii++;i = i - 1;menjadii--;i = i + 3;menjadii += 3;i = i * j;menjadii *= j;
Ini bukan hanya gula sintaksis. Mereka sering kali dikompilasi menjadi kode mesin yang lebih efisien. Gunakan mereka.
C Kesalahan yang Harus Dihindari
Operator / dengan dua bilangan bulat adalah jebakan. Ini memotong bagian desimal. Selalu periksa tipe Anda sebelum membagi. Jika Anda membutuhkan presisi, masukkan satu operan ke float atau double terlebih dahulu.
Pikirkanlah setiap kali Anda menggunakannya. Jika tidak, nomor Anda akan salah. Dan men-debug masalah pembagian bilangan bulat itu menyakitkan.
Coba Ini
- Bereksperimenlah dengan pengetikan huruf. Coba
int,char,float. Lihat apa yang terjadi jika Anda mencampurkannya. - Buat array catatan. Tulis kode untuk mengurutkan array itu pada satu bidang bilangan bulat. Ini mengajarkan Anda tentang pointer, tata letak memori, dan aliran kontrol.
Detailnya penting dalam C. Salah satu tipe terlewatkan, dan seluruh program terhenti. Lakukan dengan benar, dan itu berjalan cepat.


























