概述
1.sizeof
(1)若求字符串占据 空间 的大小,包括字符串结尾处默认的' '。
(2)若所求不是字符串的大小,求的是数组、类型等的大小,不用考虑' ',因为不是字符串,在结尾处无默认的' '。
(3)若明显出现' ',则统计。
(4)返回一个变量或者类型的大小(以字节为单位)
2.strlen
求字符串内容的大小,统计字符串的字符个数,遇到' '停止统计,不统计' '。
3.知识点
3.1 对于数组
sizeof
:结果就是数组大小。
strlen
:在计算时会遍历整个数组,往后遍历的时候不一定能碰到' ',会存在越界问题,
要么程序崩溃要么产生随机值,但结果一定至少是数组长度。
3.1.1 数组中无' '
#include <stdio.h> int main() { char s[] = { 'a', 'b', 'c' }; printf("%dn", sizeof(s)); printf("%dn", strlen(s));//随机值 return 0; }
3.1.2 数组有' '
(1)' '在最后
#include <stdio.h> int main() { char s[] = { 'a', 'b', 'c', ' ' }; printf("%dn", sizeof(s)); printf("%dn", strlen(s)); return 0; }
(2) ' '在中间
#include <stdio.h> int main() { char s[] = { 'a', 'b',' ','c', }; printf("%dn", sizeof(s)); printf("%dn", strlen(s)); return 0; }
3.2 对于字符串
C语言中能够保存字符串的,只有char类型的数组。
3.2.1 字符串无明显的' '
#include <stdio.h> int main() { printf("%dn", sizeof("abcd")); printf("%dn", strlen("abcd")); return 0; }
、
3.2.2 字符串有明显的' '
(1)' '在最后
#include <stdio.h> int main() { printf("%dn", sizeof("abd ")); printf("%dn", strlen("abd ")); return 0; }
(2)' '在中间
#include <stdio.h> int main() { printf("%dn", sizeof("abc d")); printf("%dn", strlen("ab d")); return 0; }
以上就是C语言入门篇--sizeof与strlen基础理论的详细内容,更多关于C语言基础的资料请关注靠谱客其它相关文章!
最后
以上就是激昂毛衣为你收集整理的C语言入门篇--sizeof与strlen基础理论的全部内容,希望文章能够帮你解决C语言入门篇--sizeof与strlen基础理论所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复