c语言
ruo_bing
这个作者很懒,什么都没留下…
展开
-
三子棋游戏
核心思路: 要玩三子棋游戏,首先得有棋盘(打印出棋盘); 玩家下一步,电脑下一步(游戏实现); 判读输赢或者棋盘是否已满,若棋盘满了,则为平局(判断输赢);要用程序来写出该游戏,一定要把握好逻辑,你的逻辑与方案直接决定游戏的高效性和优越性其他说明:为使逻辑清晰与方便阅读,以下代码中test.c用来测试游戏, game.c中是游戏的实现,game.h放的是用到的头文件及函数声明...原创 2018-02-11 21:02:46 · 446 阅读 · 0 评论 -
扫雷
扫雷游戏是windous中的常见简单游戏,用c语言和c++均可以实现,以下用c语言来实现 核心思想: 要有两个棋盘(一个用来设置雷区,一个让玩家扫雷游戏) 初始化扫雷界面,对雷位置进行处理 在扫雷中对坐标位置判断是否有雷以下游戏还可继续拓展为了使程序逻辑清楚,方便阅读; test.c中用来测试游戏,game.c中是游戏实现,game.h中包含头文件及函数的声明test.c...原创 2018-02-11 22:23:15 · 421 阅读 · 0 评论 -
动态内存管理(malloc, calloc,realloc,free)
C语言提提供了动态内存开辟以及分配的函数void* malloc(size_t size); //参数为申请是的大小,单位为字节 void* calloc(sieze_t num, size_t size); //开辟num个大小为size的一块空间 void* ralloc(void *ptr, size_t size); //第一个参数为旧地址,第二个为新大小...原创 2018-05-06 17:36:26 · 130 阅读 · 0 评论 -
C语言中几个番外解释
pragma once和#define作用:避免同一个文件被包含多次。pragma once ,不打开文件,所以只能避免同一个文件被包含多次,指的是同一个文件,不包括内容相同的两个文件。#ifdefine ,#endif是从语言中的宏定义,避免文件多次编译,会打开文件,所以能保证内容完全相同的两个文件也不被重复包含 #pragma warning(disable :4996)...原创 2018-09-14 16:54:08 · 1326 阅读 · 0 评论 -
函数的栈帧
栈帧–函数的调用过程每一次函数调用都是一个过程,这个过程称为函数的调用过程,这个过程要为函数开辟栈空间,用于本次调用中存放临时变量和保护现场,这块栈空间称之为函数栈帧。所以调用函数的成本要花时间和空间。函数中的局部变量–需要时开辟,运行完毕时释放,在栈区static修饰的变量----程序运行完毕时,变量也一直在,静态区在栈上申请的是临时变量。函数可以传参,也可以不传参,一旦传参,就会...原创 2018-10-11 15:36:02 · 141 阅读 · 0 评论 -
程序当中易忽略的小问题
对于初学者来说在编写程序当中容易犯的一个小错误:例如: 想要输出:printf(“(are you ok??)\n”);会发现并不能输出你想要的结果,原因是因为三字母词:??( 表示-[??) 表示]??< 表示{??> 表示}那么也就表示对于c编译环境来说,可以在某些缺少必备字符的字符集上使用;为正确输出想要的结果,便有了转义字符;常见转义字符:...原创 2017-12-13 19:00:16 · 249 阅读 · 0 评论 -
数组指针和指针数组
数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。p=a; //将该二维数...原创 2019-03-01 21:31:34 · 316 阅读 · 0 评论 -
字符串的使用
字符串的三种表达形式:char *ptr = "abcdfef" ; //字符串常量,存放在常量区char ptr[] = "abcd";// strlen(ptr)--&gt;5char ptr[] = {'a','b','c','d','\n'}; //和第二个是一个意思char ptr[] = {'a','b','c','d'}; strlen(ptr)---...原创 2019-03-10 10:16:38 · 315 阅读 · 0 评论