C语言注意事项(strlen和sizeof)
Posted 控WF
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言注意事项(strlen和sizeof)相关的知识,希望对你有一定的参考价值。
目录
前言
这是一些简单且常用到的知识,希望能给大家带来帮助。
一、C语言简单结构
一个简单的结构主体包含标准的输入输出头文件、函数入口和函数结束。这是一个简单的固定结构。
二、输入、输出
在C语言中,一些简单的输入scanf 和输出printf ,可以实现在程序中我们想要输入的数据和输出的数据。
三、常用数据类型
1.举例
int //修饰整形变量
char //修饰字符类型
short //修饰短整形类型
float //修饰单精度浮点数,如小数
2.类型大小
单位是字节
四、长度
1.strlen
strlen 是函数,测量的是字符的实际长度,以‘\\0’结束。在字符串中'\\0' 可写可不写,因为会隐藏;但在字符数组中一定要写‘\\0’ ,如果没写有‘\\0’ 则大小出现随机值。如下所示
#include<stdio.h>
int main()
{
char arr1[] = "hello";//字符串,末尾隐藏了\\0,作为字符串的结束,长度为5
char arr2[] = "hello\\0";//‘\\0’在字符串中可写可不写,长度为5
char arr3[] = { 'h','e','l','l','o','\\0'};//在字符数组中\\0一定要写,作为结束标准,长度为5
char arr4[] = { 'h','e','l','l','o'};//字符数组,没有'\\0'作为结束,则长度随机
printf("%d\\n", strlen(arr1));
printf("%d\\n", strlen(arr2));
printf("%d\\n", strlen(arr3));
printf("%d\\n", arr4);
return 0;
}
2.sizeof
sizeof 测量的是字符的分配大小。如果数组中没有‘\\0’,sizeof是默认里面有的,占一个字节
#include<stdio.h>
int main()
{
char str1[] = "hello";//默认有'\\0'占一个字节,hello五个字节,所以总共6个字节
char str2[20] = "hello";//虽然hello占了一个字节,但数组给了20个字节,所以占20;
printf("sizeof: %d\\n", sizeof(str1));
printf("sizeof: %d\\n", sizeof(str2));
return 0;
总结
本人知识面还没那么广,但上面的知识也是基础且重要,有不对的地方请大家多多指教。
以上是关于C语言注意事项(strlen和sizeof)的主要内容,如果未能解决你的问题,请参考以下文章
C语言实用算法系列之冒泡排序sizeof与strlen的区别