C语言学习记录

1、计算数组长度

通常做法:

int array[] = {1, 2, 3, 4};

unsized int count = sizeof(array) / sizeof(typeof(array[0]));

不过有一个问题,如果你要判断的这个数组是作为参数传入函数内部的话,上述办法不可行。

一般是要求同时传入数组长度的。否则没有办法。

2、硬盘分为:固态硬盘(SSD)和机械硬盘(HDD);

2.1 、机械硬盘:就像VCD或DVD,由一个精密电机带动光盘快速转动来让探头读取和写入数据。

2.2、就像手机内存卡或U盘,内部有上亿个电子元器件,非常细小,达到纳米级别,通过电路来读取和写入数据。


3、fflush(stdin);用来清空输入缓冲区;

在内存中,有一块区域(比如512字节)专门用来保存用户输入的数据,遇到 scanf 时,程序会首先检查该区域是否有数据:

如果没有,就等待用户输入,用户从键盘输入的每个字符都会暂时保存到这里,直到按下回车键,输入结束,scanf 再从这里读取数据,赋值给变量。

如果有数据,哪怕是一个字符,scanf 也会直接读取,不会等待用户输入。

这块内存区域,就叫做缓冲区(Buffer),或者缓存(Cache);又因为它是用来暂存用户输入的数据的,所以又叫输入缓冲区。

缓冲区与普通的内存没有什么两样,都是物理内存上的若干字节,只是作用不同而已。

4、C语言关键字及其解释[共32个] : c.biancheng.net/cpp/html/797.html

5、实际上,rand() 函数产生的随机数是伪随机数,是根据一个数按照某个公式推算出来的,这个数我们称之为“种子”,但是这个种子在系统启动之后就是一个定值,我们需要用 srand() 来进行播种,即在int a前加一句:srand((unsigned)time(NULL));//这里利用时间进行播种,需要time.h

6、标准C语言(ANSI C)共定义了15 个头文件,称为“C标准库”,所有的编译器都必须支持,如何正确并熟练的使用这些标准库,可以反映出一个程序员的水平。

合格程序员:stdio.h ctype.h stdlib.h string.h

熟练程序员:assert.h limits.h stddef.h time.h

优秀程序员:float.h math.h error.h locale.h setjmp.h signal.h stdarg.h

7、C语言内存模型(内存组织方式):c.biancheng.net/cpp/html/2857.html

8、

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容