C語言中sizeof與strlen的區別是什麼

時間 2022-04-18 21:32:14

1樓:溥蘭娜璩禹

sizeof

是被測試型別百占用位元組的大度小

strlen是以\0為結束問符答的字串的串長度(不含結束符)比如吧:

char*p=

"0123456789abcdef";

char

str=

"0123456789abcdef";

char

str2[100]

="0123456789abcdef";

sizeof(p)

只是內4(或8與作業系統有關,32位系統應容當只是4)strlen(p)

是16個長度

sizeof(str)

是17strlen(str)

是16sizeof(str2)

是100

strlen(str2)是16

2樓:佼夢絲奚貝

sizeof獲得是所佔百的位元組數度,所分配的空間的位元組數。

strlen獲得是長度(實際字問符的個數)。

例如:char

a[5]="abc";

sizeof(a)

等於5,因答為分配了內5個位元組的空間。

而strlen(a)等於3,這是其容實際字元的個數

c語言sizeof和strlen的區別

區別如下 1 指代上的區別 1 sizeof 用來獲取字串長度的導引,是處理字串的重要工具。2 strlen 做的是乙個計數器。2 用法上的區別 1 sizeof sizeof type name sizeof type 在編譯時有效,而不是在執行時有效。2 strlen extern unsign...

c語言位運算,c語言中 與 的區別

這個很簡單,你開啟電腦的計算器,將521輸入,然後用二進位制顯示,你看到的是 1000001001,123是 1111011 與123 按位與的結果就是0000 1001 用十進位制顯示的時候就是9,其他的計算也是這樣算出來的,你試下就知道了,在此我就不一一舉例了。這是與操作,只有1 1才能是1 這...

C語言中 與 的區別和1 11的區別

和 是邏輯運算子,和 是位運算子。與 僅當左右為真時值為1,否則為0,如2 1 1 0等於1 或 僅當左右為假時值為0,否則為1,如1 2 0 1等於0 按位與,僅當左右為1是值為1,否則為0,如1 1等於1,1 0等於0 按位或,僅當左右為0時值為0,否則為1,如0 0等於0,0 1等於1 和 屬...

在c語言中位址與位址值有什麼區別

int a 0 int p p a 系統給a分配一塊記憶體,位址不一定,這個位址中儲存了值0 指標p儲存了a的位址,你可以分別輸出a和p看一下,a一定是0,但是p的值是不一定的。p表示p儲存的位址中儲存的值就是0 注意 p和p的區別 mai int p,w 這裡定義了乙個整型指標跟資料.它們各被分配...

簡述c語言中識別符號和關鍵字的概念與區別

識別符號是在程式中使用的變數名 函式名 標號等統稱為識別符號。除庫函式的函式名由系統定義外,其餘都由使用者自定義。c 規定,識別符號只能是字母 a z,a z 數字 0 9 下劃線 組成的字串,並且其第乙個字元必須是字母或下劃線。在使用識別符號時還必須注意以下幾點 1 標準c不限制識別符號的長度,但...