今天的内容

字符数组和字符串:
String str1 = "hello"; //String数据类型在C语言里面没有,在C++和Java里面是有的;
===》C里面是用字符数组的方式来保存字符串!


strlen(str):表示的字符串的长度;
char str[100] = {0};
'\0'表示的是字符串结束,‘\0’之前的字符是字符串的有效字符:
===》hello world'\0'    ===》‘\0’称为魔数【在C语言里面用来表示特定含义的数】
===》所以strlen是不把'\0'计算在字符串的有效长度里面;
‘\0’在ASCII里面对应的是0 ===》表示的就是什么都不显示;

sizeof(str):表示的字符串在内存中所占字节空间的大小;===》计算'\0';
char str[100] = "hello world"; //sizeof(str) = 100;
char str[] = "hello world"; //sizeof(str) = 5 + 1 + 5 + 1 = 12;  ===》会在最后自动添加'\0'
char a[] = {'h','e','l','l','o',' ','w','o','r','l','d'};//sizeof(a)  = 11; ===》不会自动添加'\0';

char str[11] = "hello world"; 
//strlen(str):从“hello world”中的'h'开始往后依次遍历(一个一个地找),知道找到'\0'为止,那么‘\0’
//之前一直到'h',是strlen(str)的大小,因为定义的是str[11]正好能够存放“hello world”,字符数组str中没有剩余的
//没有剩余的空间来自动添加'\0',所以会一直往后寻找,直到遇到‘\0’为止,因为'\0'的位置不确定,导致
//strlen(str)的大小是不确定的;

总结一下:字符串的实质是是什么?
有固定开头和结尾的,在内存中连续存放的一串字符;
注意:
1、固定开头;
2、固定结尾:'\0'
3、连续存放:因为字符串在C语言里面是采用字符数组的方式存储===》数组是在内存中开辟的连续空间!


函数:
什么是函数,为什么需要函数,有了函数之后有什么好处,没有函数行不行?
对于函数有什么操作;

1、为什么需要函数?
main()
{
XXX;
XXX;
}
自然段;----》章 ----》卷或者季;
盗墓笔记第一季:
第一章;
第一段;
第二段;
第三段;
第二章;
第三章;
。。。
盗墓笔记第二季;
。。。
盗墓笔记第三季;
。。。
===》采用“分”的思想;

===》编程:采用“分”的思想;===》分成模块 ===》分成函数;

2、什么是函数;
3、有了函数之后有什么好处
①代码更加精简,是程序模块化;
②函数可以复用;
4、没有函数行不行;
行!
5、对于函数要掌握哪些知识点:
①定义;
首先要明确,要定义的函数应该具备什么功能;
如何定义:
函数的返回值类型 函数的名字(函数的参数列表)
{
函数的代码块;
}

注意:
函数可以没有参数列表,但是()不能丢;
最终返回的数据类型一定要和“函数的返回值类型 ”一样!


②声明;
内部声明和外部声明;
内部声明:
为什么要声明:
编译器在进行编译的时候是从上往下进行编译的!
如果函数的定义在函数调用之前,可以不进行声明;
如果函数的定义在函数调用之后,不进行声明,会报警告!===》有些编译器不会报警告!
声明的作用:
告诉编译器,函数的名字是什么,函数有没有参数列表,如果有的话,应该给函数传递什么类型的参数,
传递多少个参数!===》告诉编译器,函数的正确使用方法;
当调用函数的时候,会根据函数的声明,来判断,函数调用的是否正确!
如何声明;
最简单的方法:把函数定义的第一行复制粘贴,然后在后面加个分号;

外部声明:extern

猜你喜欢

转载自blog.csdn.net/weixin_42195913/article/details/80466281
今日推荐