對sizeof和strlen函式的使用小結

2021-07-04 04:59:06 字數 1067 閱讀 5997

sizeof的介紹

1.作用:

用來計算乙個常量或者乙個變數、一種資料型別所佔的記憶體位元組數

2.基本形式

1>sizeof(變數\常量)

int size = sizeof(10);  // int型別的常量占用4個位元組

int a = 10;   

int size = sizeof(a);   // int型別的變數占用4個位元組

2>sizeof 變數\常量

int size = sizeof 8.8;  // double型別的常量占用8個位元組

int b = 10;

int size = sizeof(b);    // double型別的變數占用8個位元組

3>sizeof(資料型別)

int size = sizeof(int);    // int型別的資料占用4個位元組

int size = sizeof(double); // double型別的資料占用8個位元組

int size = sizeof(char);   // char型別的資料占用1個位元組

4>sizeof 資料型別  //這種是錯誤的

5>當陣列作為函式引數傳遞時,會當作指標變數使用,而指標變數在64位編譯器環境下。始終佔據8個位元組,也就是說陣列作為函式引數傳遞時,不論是什麼型別的陣列,始終佔據8個位元組

strlen函式的使用:

1.計算字串的長度

2.計算的是字元數,不是字型個數

3.計算的字元不包括\0

4.計算字元時,遇到\0則停止計算;若本字串不含\0,則就近尋找,遇到才會停止

例如:int size = strlen("hello你好")

//乙個中文文字佔3個位元組,所以一共佔11個位元組,而不是7個

char name = "hel\0lo";  

int size = strlen(name);  // 字串長度為3位元組

char names = ;

int size = strlen(names);

// 字串長度為5位元組,因為names中沒有\0,需要去name中尋找,遇到\0則停止

sizeof和strlen和 countof的區別

運算子,計算引數所佔記憶體 int nnum2 strlen arr 是函式,求字元的個數,不包括 0 int nnum3 countof arr windows巨集 計算陣列的元素個數 cout nnum1 cout nnum2 cout nnum3 endl int arr1 20 nnum1 ...

sizeof和strlen的區別

sizeof與strlen的區別與聯絡 轉 1.sizeof操作符的結果型別是size t,它在標頭檔案中typedef為unsigned int型別。該型別保證能容納實現所建立的最大物件的位元組大小。2.sizeof是算符,strlen是函式。3.sizeof可以用型別做引數,strlen只能用c...

strlen和sizeof的區別

sizeof與strlen的區別與聯絡 轉 1.sizeof操作符的結果型別是size t,它在標頭檔案中typedef為unsigned int型別。該型別保證能容納實現所建立的最大物件的位元組大小。2.sizeof是算符,strlen是函式。3.sizeof可以用型別做引數,strlen只能用c...