C语言
Hxingwei
这个作者很懒,什么都没留下…
展开
-
扫雷
我们要模范小游戏扫雷,需要我们完成以下几点:1、在Windows系统下,先玩几把扫雷游戏,想一想它是如何实现的。 2、通过观察游戏,我们可以想到需要用两个二维数组来实现扫雷的功能。 3、游戏刚开始,需要需要显示棋盘,用“*”遮盖雷的坐标,所以要有一个填充棋盘的函数。 4、通过rand()函数,随机生成雷的坐标,埋雷的函数。 5、每次扫过后,都要显示新的棋盘,显示棋盘的函数,同时显示该坐标周围原创 2017-10-31 18:16:38 · 741 阅读 · 0 评论 -
模拟实现:strlen,strcat,strchr,strcpy,strcat...
模拟实现的字符串处理函数: strlen,strcat,strncat,strchr,strrchr,strcpy,strncpy1.strlen,求字符串的长度,不算‘/0’size_t mystrlen(const char *string){ const char *p = string; while (*p++) {} return(p - ...原创 2018-08-21 18:45:26 · 262 阅读 · 0 评论 -
sscanf,sprintf,fread,fwrite
sscanf 读取格式化的字符串中的数据定义函数 int sscanf (const char *str,const char * format,........); sscanf与scanf类似,都是用于输入,子是后者以键盘(stdin)为输入源,前者以固定字符串为输入源。sprintf 指的是字符串格式化命令,主要功能是把格式化的数据写入某个字符串缓冲区中。定义...原创 2018-08-20 15:14:58 · 302 阅读 · 0 评论 -
malloc/calloc/realloc动态内存分配
malloc、calloc、realloc ,都是动态分配内存的函数,如下图是这三个函数的功能:原创 2018-08-17 17:55:59 · 391 阅读 · 0 评论 -
三子棋
要实现三子棋,首先思考三子棋怎么样实现的,如一下几点:1、实现三子棋,在一个3*3的二维数组下实现2、把二维数组都初始化为空格 ‘ ’3、电脑随机生成坐标,判断该坐标是否合法,合法赋值为 ‘x’4、玩家输入合法坐标,该坐标赋值为 ‘ * ’5、判断输赢,每一行,每一列,或者对角线上的值相等,则为赢。如果棋盘满了,还没有赢家,则为平局!代码如下:g原创 2017-10-24 14:44:40 · 1020 阅读 · 0 评论 -
自定义类型:结构体,位段,枚举,联合
结构体:是一些值得集合,这些值称为成员变量。它们可以是任何不同类型的变量。struct stu{char name[20];int age;char sex[5];};描述一个学生的结构体声明。 在结构体声明时,还可以不完全声明(省略了标签tag),如:struct {char name[20];int age;char sex[5];}stu;结构体的自引用:struct s原创 2017-11-27 17:43:31 · 645 阅读 · 0 评论 -
浅谈指针数组、数组指针及函数指针
C语言中,指针可以说是C语言的灵魂,我们想要熟练运用C语言,必须深入的了解指正的各种类型,及其该如何运用。 以下是我对一些指针的总结:1、指针数组 2、数组指针 3、函数指针 4、函数指针数组 5、指向函数指针数组的指针一、指针数组指针数组:是一个数组,数组的每一个元素都是指针。 例如: int *arr[10] 一个存放 10个 int * 指针的数组 char *原创 2017-11-21 15:30:51 · 405 阅读 · 0 评论 -
函数栈帧的创建与销毁
浅谈函数调用过程中,栈帧的创建与销毁: 以下是我以VS2010为编译器,查看的栈帧创建与销毁。寄存器: EBP:栈底寄存器,存放了指向函数栈帧栈底的地址 ESP:栈顶寄存器,存放了指向函数栈帧栈顶的地址 EIP:指令寄存器(程序计算器),存放CPU将要执行的指令几个简单汇编命令: call:1.默认将当前正在执行指令的下一条指令的地址压入栈中 —— 2.栈直接跳转至目标原创 2017-11-04 19:28:40 · 818 阅读 · 0 评论 -
C语言操作符总结
在我们C语言编程中,经常用到我们的C语言操作符进行优化程序和表达式之间的运算,大大的方便了程序员实现结果和出来数字间的逻辑关系。 显而易见,对C语言操作符的熟悉运用对我们学习C语言至关重要,以下是我对C语言操作符的总结... 操作符的分类: 1.算术操作符 2.移位操作符 3.位操作符 4.赋原创 2017-10-09 11:35:11 · 355 阅读 · 0 评论 -
程序环境和预处理的基本认识
我们通常都是在集成开发环境(IDE)下编写程序,通过IDE中编译器,链接器,调试器,加载器,最后形成了一个可执行文件。我们需要更详细的了解该过程是怎么实现的,我们就需要在Linux系统下认识。Linux中一些简单指令:ls ---- 列出当前文件夹的所以文件 cd ---- 更改(切换)目录 mkdir -----原创 2017-10-24 21:35:09 · 546 阅读 · 0 评论 -
memcpy()函数,memmove()函数
memcpy()函数,memmove()函数的实现。原创 2018-09-07 14:31:22 · 283 阅读 · 0 评论