Perbedaan antara strlen() dan sizeof() untuk string di C
Apa itu strlen()
strlen() adalah fungsi untuk mencari panjang string. Ini menghitung total karakter yang disajikan dalam string, menghilangkan karakter nol. Jumlah total karakter dalam string termasuk, alfabet, karakter khusus, dan angka, dengan spasi kosong.
Dalam perbedaan antara strlen() dan sizeof() untuk string dalam tutorial C, Anda akan belajar:
Apa itu strlen()
Apa itu sizeof()
Sintaks strlen()
Sintaks sizeof()
Perbedaan antara strlen() dan sizeof()
Apa itu sizeof()
Sizeof() adalah fungsi yang digunakan untuk menghitung ukuran operandnya. Ini mengembalikan ukuran variabel tertentu. Fungsi ini dapat diterapkan ke tipe data apa pun, yang berisi tipe primitif seperti tipe integer dan pointer, tipe floating-point, struktur, atau gabungan. Output dari program yang berisi sizeof() mungkin berbeda pada sistem 32-bit dan sistem 64-bit.
PERBEDAAN UTAMA:
Metode Strlen digunakan untuk mencari panjang array sedangkan metode sizeof() digunakan untuk mencari ukuran data yang sebenarnya.
Strlen() menghitung jumlah karakter dalam string sementara sizeof() mengembalikan ukuran operan.
Strlen() mencari nilai nol variabel tetapi sizeof() tidak peduli dengan nilai variabel.
Nilai kembalian dalam strlen() adalah int panjang di sisi lain nilai pengembalian dalam sizeof() adalah int yang tidak ditandatangani.
Sintaks strlen()
strcount = strlen(my_string);
Di sini, my_string adalah variabel array karakter.
Contoh strlen()
Pada program C di bawah ini, kita telah mendeklarasikan variabel string bertipe char. Variabel strng dilewatkan sebagai argumen fungsi strlen() untuk mencari panjang string.
#include<stdio.h>
#include<string.h>
int main()
{
char strng[] = "January";
printf("Length of given string is: %lu\n", strlen(strng));
}
Keluaran:
Length of given string is: 7
Sintaks sizeof()
Sintaks 1)
ukuran(jenis): Type=tipe yang direferensikan
Contoh sizeof(type):
Dalam kode di bawah ini, &type memberikan alamat variabel (x ganda). Itu bertambah dengan 1 yang memberikan alamat tempat Anda dapat menyimpan variabel tipe x berikutnya.
Mengetik x ke char* dan mengambil perbedaannya akan memungkinkan Anda untuk mengetahui jumlah total variabel tipe char yang disimpan dalam memori. Kami telah menggunakan getchar() untuk membaca karakter.
ukuran(ekspresi): Expression=Ekspresi yang harus kamu evaluasi.
Contoh sizeof(ekspresi):
Pada program di bawah ini, pertama-tama kita menghitung dan mencetak ukuran variabel. Setelah ini, kita mengevaluasi ekspresi, menyimpannya dalam variabel a, dan menampilkan hasilnya dalam pernyataan printf.
#include<stdio.h>
int main() {
char p = 'S';
double q = 4.65;
printf("Size of variable p : %d\n",sizeof(p));
printf("Size of an expression : %d\n",sizeof(p+q));
int a = (int)(p+q);
printf("Size of explicitly converted expression : %d\n",sizeof(a));
return 0;
}
Keluaran:
Size of variable p : 1
Size of an expression : 8
Size of explicitly converted expression : 4
Perbedaan antara strlen() dan sizeof()
Berikut adalah perbedaan penting antara strlen() dan sizeof():
Strlen()Ukuran() Strlen() adalah fungsi yang telah ditentukan, yang didefinisikan dalam file header yang dikenal sebagai string.h.Sizeof() adalah operator unary atau ekspresi waktu kompilasi yang menghitung jumlah memori yang ditempati oleh variabel. Metode ini digunakan untuk menemukan panjang larik string atau karakter.Metode ini digunakan untuk menemukan ukuran sebenarnya dari data (dialokasikan) dalam byte.Metode ini menghitung jumlah karakter dalam string yang menghilangkan nilai nol.Metode ini mengembalikan ukuran operan, bukan panjang string (termasuk nilai nol).Ini mengalokasikan memori pada saat runtime dan mencari nilai nol variabel.Sizeof() tidak peduli dengan nilai variabel. Fungsi Strlen() hanya bekerja dengan karakter stringsSizeof() fungsi mengembalikan jumlah memori yang dialokasikan dalam byte.Nilai yang dikembalikan dalam strlen() adalah int yang panjang.Nilai yang dikembalikan dalam sizeof() tidak ditandatangani int.Hanya ada satu sintaks strlen() yaitu int strlen(const char *str);Ada tiga sintaks dari sizeof() 1) sizeof(type), 2) sizeof(nama-variabel), dan 3) sizeof(ekspres sion):