我是靠谱客的博主 激昂毛衣,最近开发中收集的这篇文章主要介绍C语言入门篇--sizeof与strlen基础理论,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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("abcd"));
	printf("%dn", strlen("abd"));
	return 0;
}

以上就是C语言入门篇--sizeof与strlen基础理论的详细内容,更多关于C语言基础的资料请关注靠谱客其它相关文章!

最后

以上就是激昂毛衣为你收集整理的C语言入门篇--sizeof与strlen基础理论的全部内容,希望文章能够帮你解决C语言入门篇--sizeof与strlen基础理论所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(110)

评论列表共有 0 条评论

立即
投稿
返回
顶部