记录的动机
- 作为一名计算机科班出身的本科生,最近在备考408专业课,原本是想直接开始复习数据结构,但是突然想起来指针这部分大一的时候就没学清楚,而且考虑到现在时间还不算太晚,所以就打算先复习指针,然后再开始数据结构,当我点开王道的视频,发现好像前面还有一点点知识点也可以看看,SO就有了今天的下面的总结。
- 这一篇结束之后,接下来应该就是指针(主要是理论)——数据结构(主要是算法的实现,也就是代码)——计算机网络+计算机组成原理(主要是经典题型)——操作系统(主要是经典题型)的归纳复习,408的复习在CSDN的总结就以这篇文章开始啦。
- 但愿可以坚持记录,也不知道后面有没有时间,不过就最近的状态来看,21:30洗漱完成之后我基本都是散养状态,希望可以把这段时间利用起来吧,压力是有的,毕竟22年的佬们已经复习好几遍了,但是稳住,因为就我自己之前的学习经验来看,万事开头难。
字符串常量的存储方式
C语言里面是没有字符串变量的,但是有字符串常量,用双引号标注。 如果定义的时候没有给出大小,除了有效字符之外,会自动在字符串末尾后面补一个’\0’,作为字符串的结束标识。
- sizeof用来求一个对象(类型,变量,……)所占的内存大小(以字节为单位)。
- strlen用来计算指定字符串 str 的长度,但不包括结束字符(即 null 字符)。
关于这部分其实还有挺多其他的知识,不过上面这一点就够我用了。
强制类型转化
这个是老生常谈的问题了,不过还是想着写一下。 哇靠,我好像一个白痴啊,这种问题也能吸引到一个大三的学生去记录,麻了。
scanf函数
其实这个是最吸引我的,也是我点开那个视频的原因,上面那两个是意外收获了属于。 scanf函数在识别%d %c和%s的时候,会自动忽略缓冲区里面的空格和换行符。 其实关于scanf的读取过程中的空格问题,我之前就注意到了,但是一直没清楚原因。 scanf函数的返回值是它成功读取到的变量的个数,如果读取发生了错误(连续三次Ctrl Z+Enter,或者输入的数据类型不对)就会返回-1,也就是EOF。 当然了这个连续三次Ctrl Z+Enter需要在光标在最左端也就是还没有在控制台输入东西的时候才可以,不然就会进入死循环,不过有时候也不是三次,一次就会。 所以介绍一下清空缓冲区的问题:也就是发现数据类型不对了或者输入Ctrl Z+Enter了,那就自己清除掉。
浮点数的输出格式控制
|