strlen, sizeof(), length的区别

strlen

C,C++语言中的函数,用于计算当前指针变量 const char * (字符串)的字符串长度,以\0为结束符的字符串的串长度(不含结束符), Unicode码中文占2个字符,Utf-8编码 中文占3个字符。

sizeof()

系统关键字,用于计算当前变量所占的字节数。int 4字节 ,指针变量 8字节, 具体还与32位 ,64位系统有关。例如:char *mm[10],则sizeof(mm)结果为8,换句话说:sizeof(void*)是取决于这个整形量有多少个字节而不是取决于其指向了啥决定的。

void*有多大看编译器目标平台类型。x86通常4 bytes. x64通常8bytes.

length

计算NSString字符串的字符个数, 一个中文字符算一个,例如@"我是aa", 结果为4

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • __block和__weak修饰符的区别其实是挺明显的:1.__block不管是ARC还是MRC模式下都可以使用,...
    LZM轮回阅读 3,364评论 0 6
  • 1.写一个NSString类的实现 +(id)initWithCString:(c*****t char *)nu...
    韩七夏阅读 3,798评论 2 37
  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 3,473评论 3 44
  • 吹过风,踏过浪,翻过山,越过海, 读过书,写过诗,做过梦,想过你。
    华语安阅读 266评论 0 0
  • 关于今天的话题冒险突然想到笑来老师说的一个理论有些概念在你知道的一瞬间就已经产生了它的意义,下面讲个我的小故事,在...
    风流花吹雪阅读 560评论 0 0