【C语言】深入理解指针(5)

目录

sizeof和strlen

1.sizeof

2.strlen

[3. sizeof 和 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

  1. sizeof是操作符,括号内如果有计算不会进行计算
  2. sizeof计算操作数所占内存的大小, 单位是字节
  3. 不关注内存中存放什么数据

strlen

  1. strlen是库函数,使用需要包含头文件 string.h
  2. srtlen是求字符串长度的,统计的是 \0 之前字符的个数
  3. 关注内存中是否有 \0 ,如果没有 \0 ,就会持续往后找,可能会越界
相关推荐
RuoZoe7 小时前
重塑WPF辉煌?基于DirectX 12的现代.NET UI框架Jalium
c语言
祈安_4 天前
C语言内存函数
c语言·后端
郑州光合科技余经理5 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
feifeigo1235 天前
matlab画图工具
开发语言·matlab
dustcell.5 天前
haproxy七层代理
java·开发语言·前端
norlan_jame5 天前
C-PHY与D-PHY差异
c语言·开发语言
多恩Stone5 天前
【C++入门扫盲1】C++ 与 Python:类型、编译器/解释器与 CPU 的关系
开发语言·c++·人工智能·python·算法·3d·aigc
QQ4022054965 天前
Python+django+vue3预制菜半成品配菜平台
开发语言·python·django
czy87874755 天前
除了结构体之外,C语言中还有哪些其他方式可以模拟C++的面向对象编程特性
c语言
遥遥江上月5 天前
Node.js + Stagehand + Python 部署
开发语言·python·node.js