第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

strlen()函數(shù)是什么意思??

strlen()函數(shù)是什么意思??

汪汪一只貓 2021-02-02 07:03:34
strlen()函數(shù)是什么意思?
查看完整描述

2 回答

?
繁星淼淼

TA貢獻1775條經(jīng)驗 獲得超11個贊

strlen(char *)

作用:檢測字符串實際長度。

如:char s[]="1234567";

int a=strlen(s);//a=7

實際上strlen(char *)檢測的是'\0',strlen(char *)碰到'\0'就返回'\0'以前的字符數(shù)。

又如:

char f[]="123456\01111";

int b=strlen(f);//b=6,因為遇到了'\0'

擴展資料

strlen(char*)函數(shù)求的是字符串的實際長度,它求得方法是從開始到遇到第一個'\0',如果你只定義沒有給它賦初值,這個結(jié)果是不定的,它會從aa首地址一直找下去,直到遇到'\0'停止。

⒈sizeof操作符的結(jié)果類型是size_t,它在頭文件中typedef為unsigned int類型。

該類型保證能容納實現(xiàn)所建立的最大對象的字節(jié)大小。

⒉sizeof是取字節(jié)運算符(關(guān)鍵字),strlen是函數(shù)。

⒊sizeof可以用類型做參數(shù),strlen只能用char*做參數(shù),且必須是以'\0'結(jié)尾的。

⒋數(shù)組做sizeof的參數(shù)不退化,傳遞給strlen就退化為指針了。

⒌大部分編譯程序 在編譯的時候就把sizeof計算過了是類型或是變量的長度。這就是sizeof(x)可以用來定義數(shù)組維數(shù)的原因



查看完整回答
反對 回復(fù) 2021-03-28
?
波斯汪

TA貢獻1811條經(jīng)驗 獲得超4個贊

strlen(char *)

作用:檢測字符串實際長度。

如:char s[]="1234567";

int a=strlen(s);//a=7

實際上strlen(char *)檢測的是'\0',strlen(char *)碰到'\0'就返回'\0'以前的字符數(shù)。

又如:

char f[]="123456\01111";

int b=strlen(f);//b=6,因為遇到了'\0'

char h[4]={'f','0',0,'h'} ;//注:不能寫成char h[4]="f0\0h";因為以""括起來的為字符串,它隱式的以'\0'結(jié)尾,而'\0'也占一個字節(jié),所以應(yīng)寫為char h[5]="f0\0h"

int c=strlen(h);//c=2,因為遇到了'\0'(注意'0'不等于'\0',而0等于'\0')

擴展資料:

strlen所作的僅僅是一個計數(shù)器的工作,它從內(nèi)存的某個位置(可以是字符串開頭,中間某個位置,甚至是某個不確定的內(nèi)存區(qū)域)開始掃描,直到碰到第一個字符串結(jié)束符'\0'為止,然后返回計數(shù)器值(長度不包含'\0')。

區(qū)別sizeof:

strlen(char*)函數(shù)求的是字符串的實際長度,它求得方法是從開始到遇到第一個'\0',如果你只定義沒有給它賦初值,這個結(jié)果是不定的,它會從aa首地址一直找下去,直到遇到'\0'停止。

⒈sizeof操作符的結(jié)果類型是size_t,它在頭文件中typedef為unsigned int類型。

該類型保證能容納實現(xiàn)所建立的最大對象的字節(jié)大小。

⒉sizeof是取字節(jié)運算符(關(guān)鍵字),strlen是函數(shù)。

⒊sizeof可以用類型做參數(shù),strlen只能用char*做參數(shù),且必須是以'\0'結(jié)尾的。

⒋數(shù)組做sizeof的參數(shù)不退化,傳遞給strlen就退化為指針了。

⒌大部分編譯程序 在編譯的時候就把sizeof計算過了是類型或是變量的長度。這就是sizeof(x)可以用來定義數(shù)組維數(shù)的原因

6.strlen的結(jié)果要在運行的時候才能計算出來,是用來計算字符串的長度,不是類型占內(nèi)存的大小。

7.sizeof后如果是類型必須加括弧,如果是變量名可以不加括弧。這是因為sizeof是個操作符不是個函數(shù)。

⒏當(dāng)適用了于一個結(jié)構(gòu)類型時或變量, sizeof 返回實際的大小,

當(dāng)適用一靜態(tài)地空間數(shù)組, sizeof 歸還全部數(shù)組的尺寸。

sizeof 操作符不能返回動態(tài)地被分派了的數(shù)組或外部的數(shù)組的尺寸

⒐數(shù)組作為參數(shù)傳給函數(shù)時傳的是指針而不是數(shù)組,傳遞的是數(shù)組的首地址,

在C++里參數(shù)傳遞數(shù)組永遠都是傳遞指向數(shù)組首元素的指針,編譯器不知道數(shù)組的大小

如果想在函數(shù)內(nèi)知道數(shù)組的大小, 需要這樣做:

進入函數(shù)后用memcpy拷貝出來,長度由另一個形參傳進去



查看完整回答
反對 回復(fù) 2021-03-28
  • 2 回答
  • 0 關(guān)注
  • 511 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號