難點:strlen主要針對與字串;sizeof主要可對基本資料型別求位元組長度(int 、double、char等等),真陣列(如:str[10])和假陣列(如:*str)算出的結果不一樣,比如:char *str="hello"; //輸出長度為4 ,它針對字串下標的個數
char str[10]="hello";//輸出長度為6(包含'\0'),它針對字串的所有字元
#include
using namespace std;
int main(){
cout<<"計算指標陣列、一般字元陣列的長度:" size_t c=strlen(num1); size_t c1=sizeof(num1); cout<<"一般字串陣列(加0):" strlen是函式,而sizeof是算符。strlen需要進行一次函式呼叫,而對於sizeof而言,因為緩衝區已經用已知字串進行了初始化,其長度是固定的,所以sizeof在編譯時計算緩衝區的長度。strlen是遇到0或者 0 都會停止運算的,而sizeof是每個字元都會算的,不會漏掉0 或者 0 因... strlen是函式,而sizeof是算符。strlen需要進行一次函式呼叫,而對於sizeof而言,因為緩衝區已經用已知字串進行了初始化,起長度是固定的,所以sizeof在編譯時計算緩衝區的長度。因為sizeof 測試的是陣列的長度。而strlen測試的是字串的長度。在定義陣列時,字串後面還有乙個結... sizeof是乙個關鍵字,求字串所佔的位元組數。printf d n sizeof int printf d n sizeof a printf d n sizeof a strlen是乙個函式,求字串的長度,結束符 0之前的字元個數。看一下下面幾組練習 一維陣列 int a printf d n ...C語言的sizeof和strlen
C語言的sizeof和strlen
C語言 sizeof和strlen的計算