自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 线性表之链表

无头单向链表.htest。c有哨兵位双向循环链表最优的链表,在任意位置操作都是O(1)查找有平衡搜索树(AVL树和红黑树),哈希表,B树,B+树。

2024-08-24 22:09:17 278

原创 线性表之顺序表

线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的, 线性表在物理上存储时,通常以数组和链式结构的形式存储。常见的线性表:顺序表、链表、栈、队列、字符串…

2024-07-29 22:54:06 271

原创 异或运算的各种操作

异或运算可以理解为无进位相加那么就不难理解,异或运算满足交换律跟结合律,即结果与异或顺序没有关系重要结论 N^N=0

2024-07-19 11:51:46 650

原创 c语言程序环境和预处理

后面加上“;”是一种非常坑爹的行为对于宏不能递归xint main()//25return 0;为了避免以下情况发生xint main()//11return 0;可以define成# define PRINT(N , FORMAT) printf("the value of " # N " is " FORMAT "\n" , N) //#会把参数对应的转换成字符串 int main() {int a = 10;

2024-07-18 17:15:45 355

原创 时间复杂度与空间复杂度

/ 每次对半查找 log2(N) 在算法中简写省去2 有些写成O(lgN)严格来说写的不对。得到的结果就是大O阶。// 递归调用了N层,每次调用建立一个栈帧,每个栈帧使用了常数个空间O(1)// 具有常数个变量 尽管循环变量值改变,但利用的是一个空间。// 第一趟N 再 N-1 N-2 N-3 是等差数列求和。// 计算阶乘递归Factorial的空间复杂度?// O(1) 是确定的常数次都是O(1)// 计算BubbleSort的时间复杂度?// 计算BubbleSort的空间复杂度?

2024-07-18 16:35:37 420

原创 C语言文件操作:打开关闭,读写

因为有缓冲区的存在,C语言在操作文件的时候,需要做刷新缓冲区或者在文件操作结束的时候关闭文件。feof应用于当文件读取结束的时候,判断是读取失败结束还是文件尾结束。文本文件读取是否结束判断,判断返回值是否为EOF或者NULL。sprintf 把一个格式化的数据转化成字符串(反序列化)二进制文件的读取结束判断判断返回值是否小于实际要读的个数。fscanf是针对所有输入流的格式化输入语句。printf是针对标准输入的格式化输出语句。scanf是针对标准输入的格式化输入语句。fgets判断返回值是否为NULL。

2024-05-31 21:48:33 412

原创 C语言柔性数组

包含柔性数组成员的结构用malloc ()函数进行内存的动态分配,并且分配的内存应该大于结构的大 小,以适应柔性数组的预期大小。sizeof 返回的这种结构大小不包括柔性数组的内存。C99中结构体最后一个成员允许一个大小未知的数组。两种实现,推荐第一种。

2024-05-29 20:50:12 388

原创 C语言动态内存管理

学c++方向,指针、结构体、动态内存开辟这三个直接关系到数据结构的学习,非常重要(学java就还好)栈区:局部变量,形式参数堆区:malloc,calloc,realloc,free申请的空间。

2024-05-29 20:09:04 341

原创 C语言自定义类型:结构体 枚举 联合

char c;char c;//4//012FF960//012FF960//012FF960//内存中 44 33 22 11u.c = 0x00;两种方法判断当前计算机的大小端储存//int a = 1;//低->高 小端 01 00 00 00//00 00 00 01 大端union //匿名类型char c;int i;}u;u.i = 1;

2024-05-27 21:25:44 519

原创 C语言指针与数组,结构体

【代码】C语言指针与数组,结构体。

2024-05-25 13:54:33 97

原创 C语言字符串函数

strstr 在字符串str1中查找是否含有字符串str2,如果存在,返回str2在str1中第一次出现的地址;errno 是C语言设置的一个全局错误码存放的变量。c语言的库函数,在执行失败时,都会设置错误码。1.计数器 2.指针-指针 3.递归。strcpy 把\0拷贝完就结束。strcmp 比较两个字符串。C语言本身没有字符串类型。strcat 字符串追加。strtok 切割字符串。

2024-05-25 13:53:10 146

原创 c语言内存函数

【代码】c语言内存函数。

2024-05-25 13:52:23 101

原创 C语言sizeof与strlen详细比对(笔试题)

这里的地址说的都是虚拟地址,不是物理地址。数组名大部分情况下表示地址。strlen是库函数。sizeof是操作符。

2024-05-18 15:00:24 384

原创 C语言指针进阶

arr+1,不会访问arr[1],而是访问arr后面的地址。&数组名,取出的是整个数组的地址。函数指针数组:存放函数指针的数组。函数名和&函数名都是函数的地址。

2024-05-15 19:50:21 158

原创 【c语言】数据储存

debug版本内存分配由低到高,release版本会优化代码,内存开辟方式有所差异long类型在32位4字节,64位8字节。

2024-05-15 19:38:13 1695

原创 C语言指针练习

intp[10] 是个数组, 而 int (p)[10]是指针。

2024-05-11 22:31:34 150

原创 vs2019环境下C语言调试技巧

创建/取消断点启动调试,直到下一个你创建的断点处。

2024-05-08 20:13:33 383

原创 操作符与结构体相关例题

c+STL或者java刷题会有优势很多企业笔试题目来自牛客网。

2024-04-30 21:56:44 173

原创 C语言结构体

struct tag{ member-list;}variable-list;struct peo //结构体类型{ char name[20]; char tele[12]; char sex[5]; int high;};struct st{ struct peo p; int num; float f;};void print2(struct peo* sp){ printf("%s %s %s %d\n", sp->name,sp->tele

2024-04-26 19:07:49 81

原创 C语言初阶指针

二级指针变量是用来存放一级指针变量的地址。arr[i]等价于*(arr+i)绝对值得到指针之间元素个数。存放指针的数组就是指针数组。3.指针指向的空间释放。数组名表示首元素地址。

2024-04-24 15:06:48 261

原创 C语言操作符详解

从左向右依次执行,整个表达式是最后一个表达式的结果。: 大小大于等于整型等类型,向上转化。整型提升 变量达不到整型大小会被提升。d+e*f 不建议写 应该加上括号。** ~ 是按二进制位取反**尽量写出只有唯一计算路径的代码。2.用库函数strcmp()比数字用<= == >=整数的二进制表示有三种。正整数源码反码补码相同。>> 右移操作符。

2024-04-23 21:24:10 192

原创 递归及数组相关例题

支持变长数组的编译器上,数组大小可以改变。

2024-04-17 20:18:19 196

原创 C语言实现三子棋

【代码】C语言实现三子棋。

2024-04-11 22:40:50 275

原创 【无标题】c语言的三个循环

#1.for循环for循环判断部分省略会死循环,初始化部分可省略,但不推荐##2.do…while()循环。

2024-04-10 19:35:19 197

原创 C语言函数递归与迭代

可以理解成,当if在前printf在后时,反着输出printf的功能。2.每次递归后越来越接近这个限制条件。3.满足以上两个条件也不一定递归成功。使用递归,时间复杂度2^n。

2024-04-10 19:15:24 245

原创 C语言数组

为防止以上情况发生,可以进行如下操作。数组是一组相同类型元素的整合。二维数组不能省略列数据。数组越界打印出随机值,二维数组的数组名的理解。

2024-04-10 19:14:52 203

原创 C语言函数的声明和定义

如上面的add.h和add.c文件,编译成静态库,再把add.h和静态库卖给某公司。先创建头文件add.h,再创建源文件add.c。他们合在一起是一个模块,可以叫做加法模块。静态库:将函数打包成一个文件。配置类型:静态库,点击应用。自己定义的头文件用“”生成在debug文件中。

2024-04-07 11:40:10 248

原创 C语言函数嵌套

函数不写返回值时候,默认返回类型是int。以下可以明确地说明main函数不需要参数。写一个函数,每调用一次num就会+1。找到返回下标,找不到返回-1。本质上main函数有3个参数。

2024-04-05 17:26:52 183

原创 C语言基础

逗号表达式的特点是:从左向右依次计算,整个表达式的结果是最后一个表达式的结果。三目操作符 三个操作数 exp1?exp2:exp3 真√× 假×√。c语言中没有字符串类型,用双引号引起来才行。\ddd 1-3位八进制 如\130 X。逗号表达式是逗号隔开的一串表达式。%lf 打印double类型数据。%zu 打印sizeof的返回值。\xdd 表示2个16进制字符。取模的两个操作数只能是整数。%f 打印float类型数据。例: 求出a,b的较大数。\t 制表符 table。

2024-04-05 16:40:29 175

原创 C语言形参与实参

当实参传递给形参的时候,实参是形参的一份拷贝。可以利用指针间接修改a值。实参的修改不会影响形参。

2024-04-05 16:30:14 621

原创 C语言goto语句

【代码】C语言goto语句。

2024-04-05 16:29:07 118

原创 猜数字游戏

【代码】猜数字游戏。

2024-04-05 16:28:31 295

原创 c语言的分支语句

c语言是【结构化】的程序设计语言【结构化】:顺序,选择,循环结构c语句可分为5类1·表达式语句2·函数调用语句3·控制语句 (分支,循环,转向)4·复合语句5·空语句。

2024-04-05 16:27:51 436

原创 c语言结构体struct

复杂对象用自定义类型——结构体struct,可以把一些单一类型组合在一起。以创建学生类型stu为例。

2024-04-05 16:27:16 261

原创 用#define定义常量和宏

define add(x,y) ((x)+(y))//宏名add;宏的参数x,y无类型;//经过编译器处理后int c = ((a)+(b));//标识符常量num运用。首先,define不是c语言里的关键字,是一个预处理指令。

2024-04-05 16:25:09 328

原创 c语言常见关键字typedef和static的用法

/本质上,static改变了变量的存储位置,从不加时候应该存在的栈区到静态区,影响了变量的生命周期,和程序的生命周期一样。//把unsigned int重新起名为uint。//static 修饰全局变量的时候,全局变量的外部链接属性就变成了内部链接属性。//那么uint = unsined int。//这是简化后的效果,与struct node n2效果相同。//此时add()函数不再具有外部链接属性,为内部链接属性,其它源文件无法使用。

2024-04-05 16:24:33 942 1

空空如也

空空如也

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

TA关注的人

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