Tipe Data size_t pada Bahasa C dan Fungsinya
- <stddef.h>
- <stdio.h>
- <stdlib.h>
- <string.h>
- <time.h>
- <wchar.h>
Terdapat banyak library fungsi C seperti malloc, memcpy, dan strlen argumen dan tipe return-nya dideklarasikan sebagai size_t. Contoh:
// Deklarasi dari berbagai fungsi standar library.
// Berikut adalah argumen dari 'n' yang mengacu pada
void *malloc(size_t n);
// Ketika melakukan copy 'n' bytes dari 's2' ke 's1'
// n harus berada dalam posisi integer yang tidak negatif.
void *memcpy(void *s1, void const *s2, size_t n);
// strlen() menggunakan size_t karena panjang string setidaknya selalu 0.
size_t strlen(char const *s);
size_t atau tipe unsigned apapun mungkin lebih sering digunakan sebagai variabel looping yang umumnya lebih baik atau sama dengan 0.
// Program bahasa C untuk mende-
// monstrasikan bahwa
// size_t ataupun
// tipe data unsigned int
// apapun harus digunakan
// hati-hati pada
// bagian looping
#include<stdio.h>
#define N 10
int main()
{
int a[N];
// Berjalan normal
for (size_t n=0;n<N;++n) {
a[n] = n;
}
// Namun perulangan berkeba-
// likan sifatnya sedikit
// mengelabui untuk tipe da-
// ta unsigned yang dapat
// menyebabkan terjadi
// infinite loop
for (size_t n = N-1; n >= 0; --n)
printf("%d ", a[n]);
}
- 4 Jenis Utama Kelas Penyimpanan pada Bahasa C [klik]
- 6 Fakta tentang Variabel Static Bahasa C [klik]
- 4 Kondisi Nilai Default Variabel Static pada Bahasa C [klik]
- Pemahaman Volatile Tahap 1 pada Bahasa C [klik]
- Pemahaman Volatile Tahap 2 pada Bahasa C [klik]
- 4 Kondisi Utama Penggunaan Konstanta Qualifier pada Bahasa C [klik]
- Hindari Contoh Berikut untuk Inisialisasi Variabel Statik Bahasa C [klik]
Apa yang dimaksud dengan size_t pada bahasa C?
BalasHapusTipe data size_t adalah tipe data integral unsigned. Tipe data ini mewakili ukuran objek dalam ukuran byte dan dikembalikan oleh operator sizeof. Tipe data ini digunakan untuk melakukan pengindeksan dan penghitungan nilai array, dimana nilai tersebut tidak akan pernah bisa bernilai negatif.
Hapussize_t adalah tipe data bilangan bulat unsigned dasar dari bahasa pemrograman C/C++. Tipe data ini adalah jenis hasil yang dikembalikan dari operator sizeof. Ukuran tipe data dapat dipilih sehingg dapat menyimpan ukuran maksimum dari array yang secara teori dimungkinkan dari tipe data apapun. Pada sistem 32bit, size_t akan mengambil ukuran 32bit, sedangkan pada sistem 64bit, size_t akan mengambil ukuran sebesar 64bit.
BalasHapusApa perbedaan antara tipe data int dan size_t pada bahasa C?
BalasHapusTipe data int adalah tipe data bilangan bulat bertanda atau signed, yang mewakili nilai integral positif dan integral negatif. Sedangkan size_t adalah bilangan bulat tak bertanda atau unsigned, yang tidak mendukung nilai dari integral negatif.
Hapus