Artikel Terbaru

Cara Mudah Menggunakan Atribut OnDradEnd pada Elemen HTML

Atribut event ondragend merupakan salah satu atribut pada html yang akan bekerja ketika user telah selesai melakukan drag pada elemen html. Fitur drag and drop merupakan fitur yang umum pada html5. Setiap elemen pada html dapat dilakukan drag dengan menggunakan atribut draggable pada html5.

5 Fakta Antara Strlen vs Sizeof pada Bahasa C

Artikel ini akan menjelaskan perbedaan dan karakteristik dari operator sizeof() dan operator strlen() pada bahasa pemrograman C.

sizeof()
Operator sizeof adalah compile time unary operator yang dapat digunakan untuk menghitung ukuran dari nilai operannya.

Hasil dari sizeof adalah tipe unsigned integral yang biasanya dinotasikan oleh size_tsizeof dapat diterapkan untuk tipe data apapun, termasuk tipe data primitif seperti integer dan float, atapun tipe data compound seperti struktur, union, dan lain sebagainya.

strlen()
strlen() adalan fungsi predefinisi pada bahasa C yang pendefinisiannya mengandung file header "string.h".

strlen() menerima pointer menuju array sebagai argumen dan melewati memori ketika runtime dari alamat yang diberikan untuk karakter NULL dan menghitung berapa banyak lokasi memori yang dilewatinya sebelum karakter yang dicari tersebut ditemukan. Tugas utama dari strlen() adalah menghitung panjang dari array atau string.


sizeof vs strlen()
  • satu, Tipe: operator sizeof adalah operator unary dimana strlen() adalah fungsi predefinisi pada bahasa C.
  • dua, Mendukung tipe data: sizeof memberikan nilai real dari tipe data apapun dalam satuan byte tempat dimana nilai ukuran dari array string.
  • tiga, Evaluasi ukuran: sizeof() adalah ekspresi kombinasi yang memberikan ukuran dari sebuah tipe data atau sebuah variabel. Tidak peduli hal tersebut apakah tentang nilai dari sebuah variabel itu sendiri atau bukan. Sementara strlen, memberikan ukuran panjang dari C-style NULL string.
  • empat, Hasil: Keduanya merupakan konsep yang berbeda dan digunakan untuk tujuan yang berbeda pula.
  • lima, Dalam kontek bahasa C++: Keduanya tidaklah diperlukan. strlen() dalam string style-C dapat digantikan penggunaannya pada C++ dengan std::strings. sizeof(), dimana pada bahasa C adalah argumen menuju fungsi seperti halnya malloc(), memcpy(), atau memset() yang dapat digantikan penggunaannya pada bahasa C++ dengan use new, std::copy(), dan std::fill(), ataupun dengan menggunakan konstruktur lainnya.

// Program bahasa C untuk

// mendemonstrasikan perbedaan

// antara strlen() dan

// sizeof()

#include<stdio.h>

#include<string.h>

 

int main()

{

char str[] = "November";

printf("Panjang string adalah"

" %lu\n", strlen(str));

printf("Ukuran string adalah"

" %lu\n", sizeof(str));

}

Output:
Panjang string adalah 8
Ukuran string adalah 9

Karena dalam bahasa C nilai ukuran char adalah 1 byte maka ditemukan pula bahwa strlen() akan memberikan nilai yang lebih kecil daripada sizeof().

Catatan: Diketahui bahwa, setiap string yang diakhiri dengan karakter NULL ("\0"). 

strlen() selanjutnya akan mencari nilai NULL tersebut dan menghitung angkanya dari memory alamat yang dilewatinya, sehingga akan mendapatkan hasil hitung nilai sebenarnya dari angka yang ditampilkan pada elemen dalam string sebelum berakhir pada nilai NULL. Dengan nilai ukurannya adalah 8.

sizeof(): operator sizeof() akan mengembalikan jumlah nyata dari alokasi memori untuk operand yang telah dilewatinya. Dimana nilai operand array dari karakter adalah mengandung 9 karakter termasuk karakter NULL itu sendiri, dan ukuran dari 1 karakter adalah 1 byte. Sehingga, total dari ukurannya adalah 9 byte.

Perkirakan hasil output dari contoh program berikut ini.

#include <iostream>

#include <string.h>

using namespace std;

 

int main()

{

char a[] = {"nasi padang"};

char b[] = {'n','a','s','i',' ','p','a','d','a','n','g'};

 

cout << "sizeof(a) = " << sizeof(a);

cout << "\nstrlen(a) = "<< strlen(a);

cout<< "\nsizeof(b) = " << sizeof(b);

cout<< "\nstrlen(b) = " << strlen(b);

return 0;

}

Fungsi strlen mencari karakter NULL dan berperilaku tidak normal jika tidak menemukan karakter NULL tersebut.

Output:
sizeof(a) = 12
strlen(a) = 11
sizeof(b) = 11
strlen(b) = 22

Komentar

  1. Apa yang dimaksud dengan strlen pada bahasa pemrograman C?

    BalasHapus
    Balasan
    1. Fungsi strlen() pada bahasa C adalah digunakan untuk menghitung panjang nilai string.

      Catatan: strlen() menghitung panjang string hingga batas tertentu, tetapi tidak termasuk nilai karakter NULL pada bagian akhir dengan nilai return akan mengembalikan panjang string yang diteruskan kepada fungsi tersebut sebelumnya.

      Hapus
  2. Apa fungsi library standar C terhadap strlen()?

    BalasHapus
    Balasan
    1. Untuk penggunaan fungsi strlen, maka pada bahasa C harus disertakan library standar C dengan menggunakan header . Setelah library string C tersebut disertakan, maka program dapat melakukan pemanggilan fungsi strlen secara langsung pada program tersebut.

      Hapus
  3. Sangat bagus penjelasannya, terima kasih jadi lebih bisa memahai perbedaan antara strlen() dan sizeof() pada bahasa C.

    BalasHapus

Posting Komentar

Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung. :D

Catatan: setiap iklan yang ditayangkan pada blog ini bersumber dari google adsense. Dengan jenis iklan yang dipilih adalah, sebagai berikut.

POIN 1, Iklan yang ditampilkan hanya boleh berbahasa indonesia atau berbahasa inggris. Tidak menerima jenis iklan dalam bahasa yang lain selain yang telah disebutkan karena blog ini dibuat untuk para pengunjung dari negara atau orang yang berbahasa Indonesia.

POIN 2, Setiap gambar yang ditampilkan pada iklan sifatnya tidak mengganggu para pengunjung yang melihat blog, atau tidak boleh menampilkan gambar yang bersifat menjijikkan atau merangsang rasa mual.

POIN 3, Jenis iklan yang dipasang bukan merupakan iklan spam, atau berisi dan mengarahkan pengunjung ke alamat yang berbahaya atau bersifat penipuan.

POIN 4, Segala bentuk iklan tunduk dan patuh pada ketentuan dari pihak Adsense google dan pemilik blog.

POIN 5, Segala jenis iklan yang tidak bertentangan dengan poin 1-4 yang dijelaskan sebelumnya, maka iklan tersebut dapat ditampilkan pada blog.

POIN 6, Jika ada pihak ketika yang ingin memasang iklan pada blog ini secara langsung, maka dapat menghubungi pemilik blog melalui kontak 0882 3218 8316.



~ Ikatlah Ilmu dengan Memostingkannya ~

Hot Artikel

Perbedaan stdio.h dan stdlib.h pada Bahasa C

Enkapsulasi pada Java

Perbedaan Antara int main() dan int main(void) pada Bahasa C

2 Jenis Utama Kegiatan Penelitian Berdasarkan Waktunya, Crosssectional Salah Satunya