C语言
爱喝茶的程序猫
软件学菜鸟,好好地做下去
展开
-
switch和if_else语句
switch和if …else语句都可以实现条件编译,根据不同的条件进行不一样的操作。switch在使用上,switch的case语句中必须使用常量,并且在连续的case语句中,各个case的常量值必须是连续的,这在下面的汇编实现上有很大的意义。 在汇编实现上,switch采用的是跳转表实现的,跳转表本身是一个静态表,而这个表的长度不是根据case语句多少决定的,而是根据case中常量的...原创 2018-02-10 15:06:48 · 594 阅读 · 0 评论 -
字符串匹配之朴素匹配&KMP匹配
在众多的语言编程里面有这么一个说法,看一个语言好不好,就看这个语言操作字符串方不方便,所以足以看出在计算机语言里面,操作字符串有多么重要,暂且不去说C语言中其他操作字符串的方法怎么样,今天就来说说字符串匹配的问题。 在C语言的string.h头文件中,char* strstr(const char*str,const char* src);这个方法就能实现这个问题,那么它是怎么实现的呢?今天就来...原创 2018-02-11 14:32:30 · 290 阅读 · 0 评论 -
系统大小端检测
大小端的引入在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为8bit。但是在C语言中除了8bit的char之外,还有16bit的short类型,32bit的int类型,另外位数大于8位的处理器,例如16位或者32位bit的处理器,由于寄存器宽度大于一个字节,要么必然存在着一个如何将多个字节安排的问题。因此导致了大端存储模式和小端存储模式。什么叫大小端?大端...原创 2018-02-11 16:48:00 · 430 阅读 · 0 评论 -
标准I/O库之文件操作的函数
标准I/O库标准I/O库(stdio)及其头文件stdio.h为地城i/o系统调用提供了一个通用的接口。这个库已经成为ANSI标准C的一部分。标准I/O库提供了许多复杂的函数用于格式化输出和扫描输入。它还负责满足设备的缓冲需求。 在很多方面,使用标准I/O库的方式和使用底层文件描述符一样。需要先打开一个文件以建立一个访问路径。这个操作的返回值将作为其他I/O库函数的参数。在标准I/O库中,与...原创 2018-02-13 15:48:17 · 273 阅读 · 0 评论 -
打印素数(100~200)
素数素数就是除过1和本身能被除尽之外,不能被其他数所除尽的数。示例打印100~200之间所有的素数。代码#include<stdio.h>int main(){ int i = 100; for(;i<200;++i) { int j = 2; for(;j < i/2;++j) ...原创 2018-03-14 18:55:44 · 265 阅读 · 0 评论 -
realloc
realloc函数形式为:void* realloc(void*ptr,size_t new_size);功能①更改由ptr指向的内存块的大小。 ②该函数可能会将内存块移到新位置(其地址由函数返回)。 ③即使将块移动到新位置,内存块的内容也会保留为新旧尺寸中较小的一个。如果新尺寸较大,则新分配的部分的值不确定。 ④如果ptr是一个空指针,该函数的行为就像的malloc,分配一...原创 2018-03-14 19:53:05 · 2813 阅读 · 0 评论