天天看點

C語言sizeof()和strlen()詳細差別和應用

一. 差別

strlen() 是一個函數,求字元串的長度,它的長度不包括‘\0’;

sizeof() 是一個操作符,求資料類型(實體)的大小;

這是簡單定義差別,四不四傻傻的分不清,下面我們來搞下應用一探究竟。

二. 應用

1. 求數組長度

(1)int array[10] = { 1, 2, 3, 4, 0 };

strlen((char *)array) = 4;
sizeof(array) = 10;

(2)int array[10] = { 0, 1, 2, 3, 4};

strlen((char *)array) = 0;
sizeof(array) = 10;

(3)int array[10] = { 1, 2, 0, 3, 4 };

strlen((char *)array) = 2;
sizeof(array) = 10;
           

2. 求字元串長度

(1)char *array = "01234";

strlen((char *)array) = 5;
sizeof(array) = 5;

(2)char *array = "12340";

strlen((char *)array) = 5;
sizeof(array) = 5;
           

以上執行個體僅供參考,環境是VS2015。如有誤之處,懇請廣大朋友指正,謝謝!

繼續閱讀