C 專題 strlen和sizeof的區別

2021-06-21 13:59:23 字數 472 閱讀 7158

難點: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):"

C語言的sizeof和strlen

strlen是函式,而sizeof是算符。strlen需要進行一次函式呼叫,而對於sizeof而言,因為緩衝區已經用已知字串進行了初始化,其長度是固定的,所以sizeof在編譯時計算緩衝區的長度。strlen是遇到0或者 0 都會停止運算的,而sizeof是每個字元都會算的,不會漏掉0 或者 0 因...

C語言的sizeof和strlen

strlen是函式,而sizeof是算符。strlen需要進行一次函式呼叫,而對於sizeof而言,因為緩衝區已經用已知字串進行了初始化,起長度是固定的,所以sizeof在編譯時計算緩衝區的長度。因為sizeof 測試的是陣列的長度。而strlen測試的是字串的長度。在定義陣列時,字串後面還有乙個結...

C語言 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 ...