今天又翻了C语言的书,看到const语句,一时间想不起来到底是干嘛的,看语句const   int   a=1;明白了这是一个支持常量指定类型的定义常量的关键字,作用几乎与#define一毛一样,但#define定义变量名字,在编译时编译器替换为定义的字面常量,程序的可读性相对较高,但安全性无法保证。而const定义的符号常量编译器会自动分配其内存地址,也会对常量类型进行安全检查,同时其变量值也是无法修改的。当然这些都是书上的说法,之后我又百度了一下,const可以节省空间,避免不必要的内存分配,因为const定义变量只分配一个内存地址,而#define定义的变量在内存空间基本上会有几份拷贝。总的来说使用const有利于程序的健壮性,写程序建议使用const定义常量。当然也不是绝对的,#define在头文件上使用率很高,也是有其优越性的,有兴趣的可以搜一下,因为我看的也只是一知半解,就不班门弄斧了。

  然后就是getch()函数,这个函数是一个不回显函数,当用户按下某个字符时,函数自动读取,无需按回车,有的C语言命令行程序会用到此函数做游戏,但是这个函数并非标准函数,要注意移植性!以上为百度百科结果,我也觉得很模糊,看不明白。于是进行了进一步了解,首先这个函数写在conio.h头文件上面。用getch()语句会等待你按下任意键,再继续执行下面的语句(有时程序执行完出现闪退问题,可以用该语句避免)。用ch=getch()语句会等待你按下任意键之后,把该键字符所对应的ASCII码赋给ch,再执行下面的语句。总结:一般用getch()来暂停,按键后再继续执行,但是这个函数不是标准c里的函数,所以可以的话建议使用getchar()来代替,防止程序执行完后闪退可以使用goto语句,或者是头文件:stdlib.h 下的system("pause"); 语句解决,基本上就是这样了。

  

今天对C语言不常用的小东西的了解的更多相关文章

  1. Windows平台Atom编辑器的常用快捷键小抄Cheat Sheet

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:Windows平台Atom编辑器的常用快捷键小抄Cheat Sheet.

  2. C语言中的调试小技巧

    C语言中的调试小技巧 经常看到有人介绍一些IDE或者像gdb这样的调试器的很高级的调试功能,也听人说过有些牛人做工程的时候就用printf来调试,不用特殊的调试器.特别是在代码经过编译器一些比较复杂的 ...

  3. 17个C语言可以做的小案例项目

    C语言是我们大多数人的编程入门语言,对其也再熟悉不过了,不过很多初学者在学习的过程中难免会出现迷茫,比如:不知道C语言可以开发哪些项目,可以应用在哪些实际的开发中……,这些迷茫也导致了我们在学习的过程 ...

  4. C语言中常用计时方法总结

    转自:http://blog.csdn.net/fz_ywj/article/details/8109368 C语言中常用计时方法总结 1. time() 头文件:time.h 函数原型:time_t ...

  5. python - 常用的小方法

    常用的小方法: bin() oct() hex() chr() ord() dir() id() len() int() str() type() help() range(10)   /  rang ...

  6. Atitit.常用语言的常用内部api 以及API兼容性对源码级别可移植的重要性 总结

    Atitit.常用语言的常用内部api 以及API兼容性对源码级别可移植的重要性 总结 1.1. 要兼容的重要语言api1 1.2. 常用基础api分类 core api1 1.3. 比较常用的扩展库 ...

  7. Oracle常用知识小总结

    永不放弃,一切皆有可能!!! 只为成功找方法,不为失败找借口! Oracle常用知识小总结 1. 创建自增主键 对于习惯了SQL SERVER的图形化界面操作的SQLer,很长一段时间不用oracle ...

  8. ES6中常用的小技巧,用了事半功倍哦

    ES6中常用的小技巧,如果能在实际项目中能使用到,必定事半功倍: 1. 强制要求参数 ES6提供了默认参数值机制,允许你为参数设置默认值,防止在函数被调用时没有传入这些参数. 在下面的例子中,我们写了 ...

  9. 打码(C语言)常见粗心小错误 (前方高能,一定要点)

    打码(C语言)常见粗心小错误 标签(空格分隔): 博客 自我介绍 本人学院 (http://sdcs.sysu.edu.cn/) 欢迎访问 本人学号 16340213 目录 打码C语言常见粗心小错误 ...

随机推荐

  1. Java 的 LinkedList 的底层数据结构

    1. 数据结构--LinkedList源码摘要 public class LinkedList<E> extends AbstractSequentialList<E> imp ...

  2. labview线程相关

    两个结论.     1. 在 LabVIEW 上编写多线程程序非常方便,我们应该充分利用这个优势.一般情况下,编写程序时应当遵循这样的原则:可以同时运行的模块就并排摆放,千万不要用连线,顺序框等方式强 ...

  3. 吴裕雄--天生自然 R语言开发学习:使用ggplot2进行高级绘图(续二)

    #----------------------------------------------------------# # R in Action (2nd ed): Chapter 19 # # ...

  4. <SCOI2005>互不侵犯の思路

    日常玄学dp #include<cstdio> #include<cstring> #include<iostream> #include<algorithm ...

  5. 转:get value from agent failed: ZBX_TCP_READ() failed;[104] connection reset by peer

    get value from agent failed: ZBX_TCP_READ() failed;[104] connection reset by peer zabbix都搭建好了,进行一下测试 ...

  6. 数据库事务(Transaction)

    事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit). 事务四大特性(ACID): 原子性(Atomicity):个事务是一个不可分割的工作单位,事务中包括的 ...

  7. 查漏补缺:进程间通信(IPC):管道

    管道是UNIX系统IPC的最古老形式,所有UNIX系统都提供此种通信机制.管道有以下两种局限性: (1)历史上,管道是半双工的(即数据只能在一个方向上流动). (2)管道只能在具有公共先祖的两个进程之 ...

  8. 《软件自动化测试开发-Java和Python测试开发指南》第6次印刷

    2017年1月 第1次印刷 2017年5月 第2次印刷 2017年9月 第3次印刷 2017年11月 第4次印刷 2018年4月 第5次印刷 2018年6月 第6次印刷 欢迎留言,点赞前2名,可获2折 ...

  9. Hellc

    [题目描述] 作为一个生活散漫的人,小 Z 每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终于有一天,小 Z 再也无法忍受这恼人的找袜子过程,于是他决定听天由命-- 具体来说,小 Z 把这 ...

  10. word2vec的简单理解

    word2vec研究如何将词用向量表示,使用的两个重要模型--CBOW模型(Continuous Bag-of-Words Model)和Skip-gram模型(Continuous Skip-gra ...