目錄
sizeof和strlen
1.sizeof
2.strlen
3. sizeof 和 strlen 的對比
sizeof和strlen
1.sizeof
- sizeo正名:sizeof是操作符,不是函數,sizeof是操作符,括號內如果有計算不會進行計算
- sizeof 是操作符,用于計算變量所占內存空間大小的,單位是字節,如果操作數是變量類型的話,計算的是使用變量類型創建的變量所占內存空間的大小
- sizeof 只關注占用內存空間的大小,不在乎內存中存放什么數據
2.strlen
- strlen 是C語言庫函數,需要包含頭文件#include <string.h> 功能是求字符串長度。函數原型為
,統計的是 str 地址開始向后?\0 之前字符串中字符的個數。 strlen 函數會?直向后找 \0 字符,直到找到為止,所以可能存在越界查找。
- 使用 "" 引號引起來的字符串末尾會補上\0
- 使用 {} 數組括起來的字符末尾不會補上\0
3. sizeof 和 strlen 的對比
sizeof
- sizeof是操作符,括號內如果有計算不會進行計算
- sizeof計算操作數所占內存的大小, 單位是字節
- 不關注內存中存放什么數據
strlen
- strlen是庫函數,使用需要包含頭文件?string.h?
- srtlen是求字符串長度的,統計的是 \0 之前字符的個數
- 關注內存中是否有 \0 ,如果沒有 \0 ,就會持續往后找,可能會越界