c语言
ricardoleo
韬光养晦,厚积薄发。
展开
-
C语言小游戏:三字棋(增强版本)
上一篇博客发表了关于用C语言来实现小游戏三字棋的代码,但是这个代码中的电脑难度可谓是极低,我通过改变电脑落子的算法,增强了电脑的难度。具体思路为:一、让电脑优先判断自己是否有可能赢。二、判断自己可能赢的前提是,让自己能够知道自己在行、列、两条对角线中是否有两个相同的棋子,并且第三个地方为空,也就是‘ ’。三、如果电脑没有任何赢的可能,那么判断玩家在有行、列、两条对角线中是否有两个相同的棋子,并原创 2017-12-09 20:12:15 · 740 阅读 · 0 评论 -
C语言小结之动态内存管理
我们知道在程序的地址空间,由下自上分别是代码区,字符常量区,已初始化全局数据区,未初始化全局数据区,堆区,栈区。 我们常用的内存开辟方式:int val = 20;//在栈空间上开辟四个字节char arr[10] = {0};//在栈空间上开辟10个字节的连续空间char* str = "hello world!\n";//在栈上开辟四个字节的空间存放str指针,后面的"hello worl原创 2018-03-09 23:35:25 · 226 阅读 · 0 评论 -
C语言小结之位段、枚举、联合体
一、位段1.什么是位段? 位段的声明与结构体是类似的,但是有一些不同,位段的成员必须是int、unsigned int、signed int、char(数组整形家族类型),位段的成员名后边有一个冒号和一个数字。 示例:struct A{ int a:2; int b:5; int c:10; int d:30;};2.位段的内存分配 ①位段的成员都是属于原创 2018-03-09 12:16:21 · 349 阅读 · 0 评论 -
C语言小结之结构体
一、什么是结构体? 结构体也叫结构,是由一系列具有相同类型或不同类型的数据构成的数据集合。 二、结构体的声明struct tag{ member_list;}variable_list;//比如描述一个学生struct Stu{ char name[20];//姓名 int age;//年龄 char sex[3];//性别 ...原创 2018-03-07 14:46:57 · 262 阅读 · 0 评论 -
C语言之利用可变参数列表实现简易的printf
在最初接触C语言的时候就接触到 printf( ) 这个函数,当时并没有对此留心与研究,也没有发现这个函数跟其他普通函数存在区别,普通函数的参数在函数定义的时候就确定了,而 printf ( ) 函数的参数列表在调用时可以变化。所以再学习与了解可变参数列表以后,便利用可变参数列表实现了一个简易的 printf( ) 。 其代码如下:#define _CRT_SECURE_NO_WARNINGS原创 2018-01-24 15:53:03 · 185 阅读 · 0 评论 -
C语言之字符串左旋or右旋的方法及思路
在C语言的学习过程中,字符串是我们经常会遇到的,并且对字符串的一些操作、变化、改变都是我们应该做注重的。其中我认为一个比较有特色的变化就是对字符串进行左旋或者右旋。 左旋如下: 一个字符串为 abcd1234 左旋两位以后应该为 cd1234ab 右旋同理: 一个字符串为 abcd1234 右旋两位以原创 2018-01-23 10:55:52 · 615 阅读 · 0 评论 -
C语言之对char*与char[]的理解
在我们学习的过程中,在定义字符串时常常会用char* 或者 char[]去定义一个字符串,可是这两个的区别却天差地别。 今天在这里我阐述一下自己对这两种定义的理解与看法。 首先分别用这两种方法定义字符串,如下。 char *str1 = "abcd1234"; char str2[] = "abcd1234"; 接下来,我们分别对这两种方法定义的字符串进行测试。原创 2018-01-22 10:03:56 · 36045 阅读 · 7 评论 -
C语言之对多维数组的简易理解
在平常学习的过程中,必定会经常跟数组打交道并且也经常使用数组,不管是一维数组也好还是多维数组也罢,数组可以说是时常出现。相比较而言,对一维数组来说,理解以及使用都是轻车熟路。但是相比一维数组,多维数组的使用以及理解却有些偏差。在此,我对多维数组进行了简易的理解。 首先以一维数组为例。要画出一个一维数组,想必非常简单。 arr[4] = { 1 , 2 , 3 , 4 };原创 2017-12-17 19:25:03 · 7587 阅读 · 0 评论 -
自身对C语言数组越界访问的简易理解
先看一个程序#include int main(){int arr [ 10 ] = { 0 } ;int i = 0 ;for ( i = 0 ; i {arr [ i ] = 0 ;printf ( " hehe\n" ) ;}return 0 ;}大家猜猜这个程序如果编译链接会出现什么结果?如上图,便是此代码的运行结果,发现是个原创 2017-11-27 20:46:15 · 4083 阅读 · 2 评论 -
C语言小游戏:猜数字
**给大家介绍一个小小的游戏代码,猜数字游戏。 `#define _CRT_SECURE_NO_WARNINGS 1#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <math.h>#include <windows.h>#include <stdlib.h>#include <time.h>void menu()原创 2017-11-27 21:16:46 · 281 阅读 · 0 评论 -
C语言小游戏:三字棋
根据最近一段时间的学习,对C语言也有了一些入门,进而进而编写了一个用C语言实现的小游戏:三字棋。 这个程序的大致思路为,先打印一个3*3的棋盘来展示,然后考虑到两方对下,放置于3*3的棋盘当中去,进而想到用一个二维数组来实现。然后进行编程。然后就是人机之间的相互轮转下棋。程序如下:#define _CRT_SECURE_NO_WARNINGS 1#ifndef __GAME_H__#d原创 2017-12-06 11:18:36 · 717 阅读 · 0 评论 -
基于TCP实现网络版三子棋小游戏
学习了UDP与TCP协议后,利用这个我们可以简单的实现一些网络小游戏。比如说三子棋。这里不对其做过多的赘述,直接贴上源码。如果有错误,请及时指出。感谢各位老铁!#pragma once#include &amp;amp;lt;stdio.h&amp;amp;gt;#include &amp;amp;lt;stdlib.h&amp;amp;gt;#include &amp;amp;lt;stddef.h&a原创 2018-05-12 01:47:06 · 1437 阅读 · 0 评论