中文字幕一区二区人妻电影,亚洲av无码一区二区乱子伦as ,亚洲精品无码永久在线观看,亚洲成aⅴ人片久青草影院按摩,亚洲黑人巨大videos

C中字符串的strlen()和sizeof()之間的差異

發(fā)布于:2021-02-20 00:00:50

0

245

0

C 字符串 strlen() sizeof()

什么是strlen()

strlen()是一個(gè)查找字符串長(zhǎng)度的函數(shù)。它統(tǒng)計(jì)字符串中顯示的字符總數(shù),消除空字符。字符串中的字符總數(shù)包括字母、特殊字符和數(shù)字,其中包含空格。

在C教程中strlen()和sizeof()對(duì)于字符串的區(qū)別中,您將了解:

  • 什么是strlen()

  • 什么是sizeof()

  • strlen()的語(yǔ)法

  • sizeof()的語(yǔ)法

  • strlen()和sizeof()之間的區(qū)別

什么是sizeof()

sizeof()是一個(gè)用于計(jì)算其操作數(shù)大小的函數(shù)。它返回特定變量的大小。此函數(shù)可以應(yīng)用于任何數(shù)據(jù)類型,包括諸如整數(shù)和指針類型、浮點(diǎn)類型、結(jié)構(gòu)或聯(lián)合之類的基元類型。在32位系統(tǒng)和64位系統(tǒng)上,包含sizeof()的程序的輸出可能不同。

關(guān)鍵區(qū)別:

  • Strlen方法用于查找數(shù)組的長(zhǎng)度,而sizeof()方法用于查找數(shù)據(jù)的實(shí)際大小。

  • Strlen()計(jì)算字符串中的字符數(shù),而sizeof()返回操作數(shù)的大小。

  • Strlen()查找變量的空值,但sizeof()不在乎變量值。

  • strlen()中的返回值是long int,而sizeof()中的返回值是unsigned int。

strlen()的語(yǔ)法

strcount = strlen(my_string);

這里,my_string是一個(gè)字符數(shù)組變量。

strlen()示例

在下面的C程序中,我們聲明了char類型的字符串變量。Strng變量作為strlen()函數(shù)的參數(shù)傳遞,用于查找字符串的長(zhǎng)度。

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

輸出:

Length of given string is: 7

sizeof()的語(yǔ)法

語(yǔ)法1

sizeof(type):type=引用的類型

sizeof(type)示例:

在下面的代碼中,&type給出變量的地址(雙x)。它以1遞增,這給出了可以存儲(chǔ)下一個(gè)x類型變量的地址。

將x類型轉(zhuǎn)換為char*并取其差值將使您能夠知道存儲(chǔ)在內(nèi)存中的char類型變量的總數(shù)。我們使用getchar()讀取字符。

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

輸出:

8

語(yǔ)法2

sizeof(variable name):variable name=要確定大小的變量的名稱。

在下面的C程序中,我們打印的是大小字符數(shù)據(jù)類型。Printf語(yǔ)句包含帶有參數(shù)char的sizeof函數(shù)。

sizeof(變量名)示例:

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

輸出:

sizeof(char) = 1

語(yǔ)法3

sizeof(expression):expression=必須計(jì)算的表達(dá)式。

sizeof(表達(dá)式)示例:

在下面的程序中,我們首先計(jì)算并打印變量的大小。之后,我們計(jì)算表達(dá)式,將其存儲(chǔ)在變量a中,并在printf語(yǔ)句中顯示結(jié)果。

#includeint main() {   char p = 'S';   double q = 4.65;   printf("Size of variable p : %dn",sizeof(p));   printf("Size of an expression : %dn",sizeof(p+q));   int a = (int)(p+q);   printf("Size of explicitly converted expression : %dn",sizeof(a));   return 0;}

輸出:

Size of variable p : 1                                                                                                                               Size of an expression : 8                                                                                                                            Size of explicitly converted expression : 4

strlen()和sizeof()之間的區(qū)別

以下是strlen()和sizeof()之間的重要區(qū)別:

{xunruicms_img_title}