【C 语言】字符串操作 ( strlen 与 sizeof 函数 | 计算 字符串长度 与 内存块大小 )
生活随笔
收集整理的這篇文章主要介紹了
【C 语言】字符串操作 ( strlen 与 sizeof 函数 | 计算 字符串长度 与 内存块大小 )
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 一、strlen 與 sizeof 函數
- 二、計算 字符串長度 與 內存塊大小
一、strlen 與 sizeof 函數
strlen() 函數的作用是獲取字符串大小 , 其原理是 從 內存某個首地址 開始計數 , 知道碰到 '\0' 字符結束 , 計算字符串長度 , 其中 計數中 不包含 '\0' 字符 ;
函數原型如下 :
#include <string.h> size_t __cdecl strlen(const char *_Str);sizeof 函數參考 【C 語言】數據類型本質 ( sizeof 函數 | 數據類型大小 ) 一、sizeof 函數 博客章節 ;
該函數的作用是 計算 內存塊 的大小 ;
二、計算 字符串長度 與 內存塊大小
使用 字符串 初始化 字符數組 , 字符串 “abc” 隱含 ‘\0’ 符號 , 字符長度實際上是 4 字節 ;
char str[] = "abc";調用 strlen 函數得到 字符串長度是 3 字節 , 其計算長度時 , 不包括 ‘\0’ 字符 ;
int len_str = strlen(str);調用 sizeof 函數得到 數組長度 是 4 字節 , 此處計算的是內存塊的大小 , 數組是數據類型 , 其本質是 固定大小內存塊 別名 ;
int len_array = sizeof(str);代碼示例 :
#include <stdio.h> #include <string.h> #include <stdlib.h>/** 函數入口*/ int main(int argc, char **args) {// 不指定大小// 使用 字符串 初始化 字符數組// 字符串 "abc" 隱含 '\0' 符號// 字符長度實際上是 4 字節char str[] = "abc";// 調用 strlen 函數求字符串長度是 3 字節// 其計算長度時 , 不包括 '\0' 字符int len_str = strlen(str);// 調用 sizeof 函數求數組長度 是 4 字節// 此處計算的是內存塊的大小// 數組是數據類型 , 其本質是 固定大小內存塊 別名int len_array = sizeof(str);// 打印上述 字符串printf("str = %s, len_str = %d, len_array = %d\n",str, len_str, len_array);system("pause");return 0; }執行結果 :
str = abc, len_str = 3, len_array = 4總結
以上是生活随笔為你收集整理的【C 语言】字符串操作 ( strlen 与 sizeof 函数 | 计算 字符串长度 与 内存块大小 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【C 语言】字符串操作 ( C 字符串
- 下一篇: 【C 语言】字符串操作 ( 使用 数组下