C语言
文章平均质量分 76
douguailove
让不可能变成可能,让可能变成超越期待
展开
-
C语言注释转化为C++注释(C语言实现)
/* int a=0;*/是C语言注释风格,而我们都知道C语言这样的注释是有缺陷的(不能嵌套注释),为了弥补这一缺陷,可将C语言注释风格改为C++注释风格(//int a=0;).本文就来讲一下怎么运用C语言实现C注释转化为C++注释。在一段代码中,往往会出现很多种情况,先来讨论一下可能存在的情况。看图:(NUL代表正常情况,END代表结束)请看具体代码:头文件及函数声明(原创 2017-07-29 23:09:30 · 563 阅读 · 1 评论 -
编译和链接的过程
程序要运行起来,必须要经过四个步骤:预处理、编译、汇编和链接。接下来通过几个简单的例子来详细讲解一下这些过程。对于上边用到的几个选项需要说明一下。使用 gcc 命令不跟任何的选项的话,会默认执行预处理、编译、汇编、链接这整个过程,如果程序没有错,就会得到一个可执行文件,默认为a.out-E选项:提示编译器执行完预处理就停下来,后边的编译、汇编、链接就先不执行了。-S选项:提示编...原创 2018-07-22 23:08:24 · 42084 阅读 · 12 评论 -
C语言中文件操作函数汇总
fopen函数 --- 打开一个文件流函数原型:FILE* fopen(const char *path, const char *mode);参数:参数path是需要打开文件的文件名,通常把它叫做文件的路径, 参数 mode 是打开文件的权限(只读、只写、读写等)。返回值:打开成功返回指向打开文件的指针,后序可以通过这个指针来访问该文件。打开失败则返回NULL。关于第三个参数...原创 2018-04-13 19:56:54 · 4354 阅读 · 1 评论 -
简易进度条的实现
引子看如下程序:运行这个程序结果发现三秒过后会先输出haha 然后再输出hehe。(这个停留的三秒要自己去亲测感受一下,在图片上是看不出来的)接着看,当把sleep(3);放到fprintf(stderr,"haha");后边,然后再运行,会发现,会先输出haha,过三秒之后才会输出hehe这是为什么呢?其实输出函数printf在输出字符串“hehe”时,并不是说输入一个字符就将其输出,而是将它放...原创 2018-03-17 11:45:34 · 685 阅读 · 0 评论 -
单链表的实现和相关面试题及其详解(C语言)
链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的链接次序实现的链表 链表链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。原创 2017-08-02 19:45:01 · 500 阅读 · 0 评论 -
C语言实现动态顺序表
前边已经实现了静态顺序表,现在来实现一下动态的。其实动态的就只是将静态定义的数组改为动态开辟一块内存来存放一组数据。具体代码头文件及函数声明(SeqList.h)部分#ifndef __SEQLIST_H__#define __SEQLIST_H__#include #include #include #include #define MAX 3//数组元素个数#de原创 2017-07-27 15:38:49 · 619 阅读 · 1 评论 -
sizeof和strlen与数组之间的恩恩怨怨
首先,来介绍一下sizeof和strlen和数组的一些重要特征。在C语言中,sizeof是一个关键字,它是用来求大小的,单位是字节。切记,它不是一个函数。这里用一个小程序就可以证明了。#include <stdio.h>int main(){ int a = 0; printf("%d\n", sizeof(a)); printf("%d\n", sizeof a)...原创 2017-08-23 17:38:17 · 295 阅读 · 0 评论 -
求带环链表的入口的多种解法
方法1:公式推导:定义两个指针,一个快指针,一个慢指针。两个指针一起走,快指针每次走两步,慢指针每次走一步(相当于速度不一样)。如果有环,那么它们就一定会相遇,当他们相遇时,走的步数是一样的(相当于时间),路程不一样。且,快指针的路程是慢指针的路程的2倍。这就的到了图中的第一个公式。将第一个公式进行一系列的化简,得出最后一个公式。通过最后一个公式我们可以知道,如果有两个指针同时走,一个从相原创 2017-08-05 23:05:01 · 467 阅读 · 2 评论 -
静态顺序表的实现(C语言)
用C语言实现静态顺序表原创 2017-07-26 17:41:11 · 566 阅读 · 0 评论 -
strcpy和strncpy的模拟实现
模拟实现字符串拷贝函数strcpy和strncpy并对其最比较原创 2017-07-25 17:42:00 · 387 阅读 · 0 评论 -
三子棋小游戏
游戏设计与实现过程的简单讲解。 游戏的话就要有菜单让人选择玩或是退出。这样就至少要有两个选择,那么就可以用到switch分支语句了。 如果选择玩游戏,进入游戏,首先就要有棋盘。通过创建一个二维数组来创建一个简单的三行三列的格子当做棋盘。由于每一行每一列都是相同的,所以用两个for循环就OK了。对棋盘进行初始化。将棋盘每一个格子设置为存放一个空格‘ ’,既方...原创 2017-04-16 14:22:24 · 509 阅读 · 1 评论 -
结构体
首先来简单介绍一下结构体。结构体是一些值的集合,这些值成为它的成员。结构体的每个成员可能具有不同的类型,且都有自己的名字。所以结构体的成员由两部分构成,类型和名字。结构体创建的变量交结构变量,结构变量属于标量类型,可像对待其他标量类型那样执行相同类型的操作。下边看一个例子来帮助理解这些概念。结构体的声明:结构体在声明的时候必须要列出它包含的所有成员。看如下两个结构体的声明...原创 2017-07-09 14:37:47 · 484 阅读 · 0 评论 -
命令行选项解析函数(C语言):getopt()和getopt_long()
关于命令行参数的解析函数,看到一篇写的很详细的博客,分享给大家。 原链接点这里https://www.cnblogs.com/chenliyang/p/6633739.html 上午在看源码项目 webbench 时,刚开始就被一个似乎挺陌生函数 getopt_long() 给卡住了,说实话这函数没怎么见过,自然不知道这哥们是干什么的。于是乎百度了一番,原来是处理命令行选项参数的,的确,正规...转载 2018-08-22 10:35:20 · 317 阅读 · 0 评论