Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Bahasa C

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 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:

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.

#include<stdio.h> 
#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(nama-variabel): Variable-name=nama variabel yang ingin Anda tentukan ukurannya.

Pada program C di bawah ini, kita mencetak tipe data size char. Pernyataan printf berisi fungsi sizeof dengan argumen char.

Contoh sizeof(nama-variabel):

#include<stdio.h>
int main()
{
	printf("sizeof(char) = %d\n\n", sizeof(char));
		
	return 0;
}

Keluaran:

sizeof(char) = 1  

Sintaks 3)

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):

Bahasa C

  1. Perbedaan antara asbes dan fiberglass
  2. Perbedaan antara Struktur dan Serikat
  3. C# Vs. C++:Apa Perbedaan Antara C# dan C++?
  4. Perbedaan Antara C dan C++
  5. Perbedaan antara C dan Java
  6. Python vs JavaScript:Perbedaan Antara JavaScript dan Python
  7. Python Vs Ruby:Perbedaan antara Ruby dan Python
  8. Perbedaan Motor DC dan AC
  9. Perbedaan antara mematri dan menyolder
  10. Perbedaan mesin 2 tak dan 4 tak