自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 Comprehended-递归,尾递归,二叉树

An experience of learning data struct.

2022-08-15 02:30:42 176 1

原创 数据结构基础—链表C++类实现

该代码为单向链表的C++类实现,会不断优化

2022-07-08 21:06:16 1036

原创 指针-指向函数指针数组的指针

先来回忆一下,指针数组int *p[n]; //定义了一个存放指向int的指针的数组//先找名字p//由于结合性【】>*,先和【】结合表示是一个数组//再和*结合表示数组里存放的是指针//再和int结合 表示指针指向的是int数组指针,指向数组的指针int (*p)[n]; //定义了一个指向存放int的数组的指针//找名字,p//先和*结合,表示p是一个指针//再和【】结合表示指向的是一个数组指向指针数组的指针 int(*(*P)[n]); //指向整

2022-02-18 17:44:47 710

原创 指针-函数指针数组

什么是函数指针数组?之前有说过指针数组,里边存放的是一群相同类型的指针,函数指针数组是它的自己,那群指针指向的是参数和返回类型相同的函数。如何表示函数指针数组?了解这个之前,要先了解一些符号的优先级,*<[]<()。现在我们先回顾一下函数指针是怎么来的int test (int a,int* b){}int *p1; //定义了一个整型指针变量p1int (*p)(int ,int*);//定义了一个函数指针变量p//先找名字 p//p先和*

2022-02-18 16:34:45 240

原创 c语言实现-五子棋(单双人,可改棋盘大小)

详解准备编译器:vs2022,如果你的编译器报错,把scanf_s改成scanf即可。#include<stdio.h>#include<stdlib.h>#include<time.h>//定义字符#define ROW 10 //改变这两个数值可改变棋盘大小#define COL 10游戏函数声明//函数声明//初始化棋盘数据void InitBoard(char(*Board)[COL], int ...

2022-02-16 04:02:00 3858 1

原创 指针-函数指针

目录什么是函数指针?函数指针标准函数名的意义函数中()的意义一个函数指针函数指针的赋值及使用两个有趣的函数指针No.1No.2No.2的简化——typedef什么是函数指针?我们来类比一下 int* pa; //整型指针 char* pb; //字符指针 int(*pc)[3]; //数组指针,指向存放3个int的数组 char(*pd)[3]; //数组指针,指向存放3个char的数组顾名思义,函数指针是一个指向函数的指针函数

2022-02-15 04:00:21 703

原创 指针-数组传参,指针传参

目录数组传参一维数组二维数组指针传参一级指针二级指针一个特殊的二级指针数组传参一维数组我们把传入一维数组时输入的是数组名,数组名是一个指向首元素的指针那么在函数接收时,只需要保证传入地址的类型相同即可#include<stdio.h>void test(int arr[]) {} //int arr[] 可以看成int *arrvoid test1(int arr[10]){} //传入的是指向首元素的地址,和[]内的值

2022-02-14 21:57:47 1300

原创 &数组名与数组指针的关系

&数组名和数组指针的可能关系的理解

2022-02-14 02:29:13 628

原创 指针-指针数组,数组指针

Part1:指针数组 用法 低级 写入 输出 正常 在之前,指针数组有提到过,是一个数组,存放指针的数组。为什么会出现这个东西,当我们要把许多地址都交给指针变量的时候,需要一个一个写,太麻烦了,指针数组解了这个问题。来看一下指针数组的使用:和定义普通类型数组一般,只是赋值时的内容变成了地址,类型加上*。使用的话,我们可以用一个循环来找到每个指针的地址,再解引用它。#include<stdio.h>int main(void) { int a = 1; in...

2022-02-14 01:12:39 283

原创 指针-字符指针

Part1:数组函参 字符指针 基本用法 常量字符串我们把要把数组传入函数时,其实传入的是一个地址,对地址内的内容进行修改,对其进行sizeof的话得到的不是数组所占空间,而是指针所占的空间。#include<stdio.h>void mylen(int arr[]) { int sz = sizeof(arr) / sizeof(arr[0]); printf("%d", sz);}int main(void) { int arr[10] = { 0 }; myl

2022-02-13 13:51:05 2639

原创 数据存储那些事3

Part1:有无符号 运算 Sleep(haomiao)(windows.h)for unsigned 循环变号字符’\0’有无符号的运算和正常的运算相同,用补码解决了这个问题,使得加减统一。只要不是负数,有无符号,在计算过程中只考虑范围问题和输出形式问题即可。Sleep()休眠函数,使程序停止,输入一个整型代表毫秒,在Windows头文件中。循环变号,在一个数据类型中,不论输入多大的数,其值会在该类型的范围内。如11111111+1=00000000,开始循环。字符‘’\0’在定义

2022-02-12 20:42:50 162

原创 关于数据存储的经典题

1.问输出的情况#include<stdio.h>#include<windows.h>int main(void) { unsigned int b = 5; for (b = 9; b >= 0; b--) { printf("%u\n", b); Sleep(500); } return 0;}这里注意到b是无符号的,其值一直在0-->2^32-1之间循环着,该程序在运行后会进入一个无限循环。2.问输出的情况#inclu

2022-02-12 19:15:33 277

原创 数据存储的那些事2

Part1:原码,反码,补码 有符号数? 符号位 数值位 整型那么数据是按照什么规则存放在计算机中的呢?先了解一下,原码,反码,补码。按照定义是有符号的负数整型原码反码补码才不相同,无符号的和正数三者相同。第一位是符号位,都是用0表示正,1表示负。而数值位三者皆不相同Part2:-10 整数 补码 为什么 加法器 加减统一我们举一个例子int:-10,我们知道一个整数占据4个字节00000000 00000000 00000000 00000000;空:一般情况不为01000

2022-02-12 15:17:15 228

原创 关于数据存储的那些事1

数据,异父异母的亲兄弟?Part1:数据类型 内置 自定义 构造 意义 内存空间 视角C语言数据类型大致可以分为两类,内置类型:char,int,long,long long,float,double自定义类型,也称为构造类型。这些类型有什么意义呢?想象一下,我们有一堆数据,要把他们存放到电脑里边去,电脑只有010101010 ……的信号,可以用二进制来表示,但二进制表示又太长了,于是用16进制来表示它们。整数的问题解决了,但是小数和符号要如何存放呢?有人就想出来了一个法子:我们可以用...

2022-02-05 00:12:25 283 1

原创 学习笔记——一个指针有趣的问题

数组越界访问?

2022-02-04 01:01:07 608

原创 学习笔记——vs调试

对于初学者而言,如果不了解调试,不会调试。在遇到bug的时候,你可能会苦恼:为什么无法运行?为什么结果不对?然后用眼睛去看自己的代码,经过漫长的修改之后,程序可以运行了,你可能依旧苦恼:为什么这样可以?苦思冥想后开始怀疑自己,去各大平台去找相关资料,认为自己没有学好,想要重学一遍,然后时间这样过去了,可能还没学到什么东西。相信我,这样重复几次,你会怀疑自己不适合干这个,

2022-02-03 23:54:03 8262

原创 初学者c指针2(白话文版)

最了解初学者困境的,一定同为初学者!!!

2022-02-03 16:07:38 932

原创 初学者c指针(白话文版)

最了解初学者困境的,一定同为初学者。要我说0基础是不存在的,大家多多少少都学过一些,只是对它的理解不够,而这是一篇初学者对指针的理解,文中少有对初学者而言的未知名词,让我们一起交流各自的理解。

2022-02-03 15:46:25 862

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除