sizeof()和strlen()的区别

来源:本站
导读:目前正在解读《sizeof()和strlen()的区别》的相关信息,《sizeof()和strlen()的区别》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《sizeof()和strlen()的区别》的详细说明。
简介:作者介绍了sizeof()和strlen()的区别。

sizeof()

源代码:

1#include <stdio.h>2int main(void)3{4  char msg[] = "Hello Nios!";  5  printf("sizeof(msg) = %ld", sizeof(msg));  6  return 0;  7}

运行结果:

sizeof(msg) = 12

strlen()

源代码:

1#include <stdio.h>2#include <string.h>3int main(void)4{5  char msg[] = "Hello Nios!";  6  printf("strlen(msg) = %ld", strlen(msg));  7  return 0;  8}

运行结果:

strlen(msg) = 11

结论

1. strlen(msg)是字符串msg的真实长度,而sizeof(msg)是字符串msg的存储长度。存储长度比真实长度大1,多一个结束符。

2. strlen()需要string.h支持,但sizeof()不需要string.h支持。

因此使用sizeof()-1既可得到字符串的正式长度,又可节省开销。

提醒:《sizeof()和strlen()的区别》最后刷新时间 2024-03-14 01:01:22,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《sizeof()和strlen()的区别》该内容的真实性请自行鉴别。