首页 > 其他分享 >sizeof和strlen

sizeof和strlen

时间:2023-03-06 14:44:06浏览次数:44  
标签:字符 char arr2 arr1 sizeof strlen

所有的字符窜都是以‘\0’结束的

 

sizeof和strlen

  sizeof()是一个关键字,表示的是操作数所占空间的大小;

  strlen()是一个函数(参数必须是char *的指针),表示的是字符窜的长度,strlen是通过判断遇到\0来判断字符窜结束

 

  1. int arr1[] = {1,2,3,4,5}//整型数组,不是字符窜,没有\0为结束

  sizeof(arr1)//arr1所占的空间  20

  strlen(arr1)//错误,strlen的参数为char *

 

  2. char arr2[] = "abcde"//是个字符窜,会以\0结束

  sizeof(arr2)//arr2所占的存储空间   6

  strlen(arr2)//\0前面的字符窜长度

注:

  字符窜数组这样赋值会导致\0丢失:

  char arr3[5] = "abcde"

  char arr4[] = {'a','b','c','d','e'} 

 

  防止\0丢失的方法:

  1. 直接字符窜赋值

  char arr5[] = "abcde"

  2. 手动添加\0

  char arr6[] = {'a','b','c','d','e','\0'}

  3. 数组长度大一点

  char arr7[6] = {'a','b','c','d','e'}

  

标签:字符,char,arr2,arr1,sizeof,strlen
From: https://www.cnblogs.com/zj-studyrecoding/p/17183847.html

相关文章

  • 对sys.getsizeof()提取变量大小的理解
    python-sys.getsizeof的使用科班出身的码畜一直被灌输一条上帝圣经:“一个int占4个字节,一个char占1个字节,一个float占4个字节。。。”,今天看下了python的getsizeof函数,发......
  • 浅谈Python的\__sizeof__()和getsizeof()
    浅谈Python的_sizeof_()和getsizeof()_sizeof_()返回内存中的大小,单位字节|__sizeof__(self,/)|Returnssizeinmemory,inbytes.getsizeof()这是s......
  • 成员函数里memset(this,0,sizeof(*this))会发生什么
    成员函数里memset(this,0,sizeof(*this))会发生什么void*memset(void*str,intc,size_tn)-参数-str--指向要填充的内存块。-c--要被设置的值。该......
  • strlen(模拟实现和详细介绍)
    模拟实现方法一(常规)#define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>#include<assert.h>intmy_strlen(constchar*str){assert(*str!=NULL);intcount=0;w......
  • 模拟实现strlen的三种方法
    一、strlen()的工作原理二、模拟实现strlen的三种方法计数器方法指针-指针递归的方法三、库函数实现strlen的思路四、库函数的strlen同上面模拟实现strlen的区别......
  • 如何查看库函数实现的某些函数(strlen,strcmp,strcpy等)
    我们拿strlen()作为举例(编译环境为:VS2022)strlen()引用的头文件为string.h,如下进行操作ps:打开strlen.c文件便可以看到库函数对于strlen()的实现,若要搜索其他在库......
  • C语言的sizeof()计算数组参数结果错误
    在C语言中我们计算数组大小会使用sizeof(arr)/sizeof(arr[0])sizeof(arr):整个数组占用的字节数;sizeof(arr[0]):arr[0]占用的字节数;但是我们有时会遇到这种情况数......
  • sizeof用法
    计算类型长度(以字节为单位)#include<stdio.h>intmain(){inta=0;charb='w';intarr[10]={0};printf("%d\n",sizeof(a));printf("%d\n",sizeofa);printf("%d\n......
  • C++中的size()、sizeof() 、strlen()、str.length()
    c/c++中获取字符串长度。有以下函数:size()、sizeof()、strlen()、str.length();一、数组或字符串的长度:sizeof()、strlen()1、sizeof():返回所占总空间的字节数2、str......
  • p27-28结构体与结构体数组,sizeof使用以及给数组赋值
    sizeof可以使用类型,也可以使用变量可以判断其长度一个数组,所有成员一样,但顺序不一样结果占用空间不一样原因:字节对齐(结构体对齐)字节对齐本质:效率还是空间,二选一的结果......