Perbedaan antara strlen () dan sizeof () untuk string di C

Daftar Isi:

Anonim

Apa itu strlen ()

strlen () adalah fungsi untuk mencari panjang sebuah 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 sizeof ()
  • Sintaks dari strlen ()
  • Sintaks dari sizeof ()
  • Perbedaan antara strlen () dan sizeof ()

Apa sizeof ()

Sizeof () adalah fungsi yang digunakan untuk menghitung ukuran operannya. Ini mengembalikan ukuran variabel tertentu. Fungsi ini dapat diterapkan ke semua tipe data, 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 sebuah 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 null variabel tetapi sizeof () tidak peduli dengan nilai variabel.
  • Nilai kembalian di strlen () adalah long int, sedangkan nilai kembalian di sizeof () adalah unsigned int.

Sintaks dari strlen ()

strcount = strlen(my_string);

Di sini, my_string adalah variabel array karakter.

Contoh dari strlen ()

Dalam program C di bawah ini, kami telah mendeklarasikan variabel string tipe char. Variabel strng dilewatkan sebagai argumen dari fungsi strlen () untuk mencari panjang string.

#include#includeint main(){char strng[] = "January";printf("Length of given string is: %lu\n", strlen(strng));}

Keluaran:

Length of given string is: 7

Sintaks dari sizeof ()

Sintaks 1)

sizeof (type): Type = tipe yang direferensikan

Contoh sizeof (type):

Pada kode di bawah ini, & type memberikan alamat variabel (double x). Itu bertambah dengan 1 yang memberikan alamat di mana Anda dapat menyimpan variabel berikutnya tipe x.

Mengetik x menjadi char * dan mengambil perbedaannya akan memungkinkan Anda mengetahui jumlah total variabel tipe char yang disimpan dalam memori. Kami telah menggunakan getchar () untuk membaca karakter.

#include#define my_sizeof(type) (char *)(&type+1)-(char*)(&type)int main(){double x;printf("%ld", my_sizeof(x));getchar();return 0;}

keluaran:

8

Sintaks 2)

sizeof (variable-name): Variable-name = nama variabel yang ingin Anda tentukan ukurannya.

Dalam program C di bawah ini, kami mencetak tipe data ukuran char. Pernyataan printf berisi fungsi sizeof dengan argumen char.

Contoh sizeof (nama-variabel):

#includeint main(){printf("sizeof(char) = %d\n\n", sizeof(char));return 0;}

Keluaran:

sizeof(char) = 1

Sintaks 3)

sizeof (ekspresi): Ekspresi = Ekspresi yang harus Anda 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.

#includeint 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 : 1Size of an expression : 8Size of explicitly converted expression : 4

Perbedaan antara strlen () dan sizeof ()

Berikut adalah perbedaan penting antara strlen () dan sizeof ():

Strlen () Ukuran dari()
Strlen () adalah fungsi standar, 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 mencari panjang sebuah array dari string atau karakter. Metode ini digunakan untuk mencari ukuran sebenarnya dari data (dialokasikan) dalam byte.
Ini menghitung jumlah karakter dalam string yang menghilangkan nilai nol. Ini mengembalikan ukuran operan, bukan panjang string (termasuk nilai null).
Ini mengalokasikan memori pada waktu proses dan mencari nilai nol variabel. Sizeof () tidak peduli dengan nilai variabel.
Fungsi Strlen () hanya berfungsi dengan string karakter Fungsi Sizeof () mengembalikan jumlah memori yang dialokasikan dalam byte.
Nilai kembali di strlen () adalah long int. Nilai kembali dalam sizeof () adalah unsigned int.
Hanya ada satu sintaks dari strlen () yaitu int strlen (const char * str); Ada tiga sintaks dari sizeof () 1) sizeof (type), 2) sizeof (variable-name), dan 3) sizeof (ekspresi):