
C语言
文章平均质量分 69
实战
听*雨声
弱小和无知不是生存的障碍,傲慢才是
展开
-
LeetCode刷题
1.autofor (auto x : nums)的作用:相当于:for (vector< int >::iterator iter = nums.begin(); iter != nums.end(); iter++)for(auto a:b)中b为一个容器,效果是利用a遍历并获得b容器中的每一个值,但是a无法影响到b容器中的元素。for(auto &a:b)中加了引用符号,可以对容器中的内容进行赋值,即可通过对a赋值来做到容器b的内容填充。...原创 2024-12-19 15:18:15 · 258 阅读 · 0 评论 -
1.进程 2.作用域与可见性 3.单目运算符 4.逗号表达式 5.空语句
进程1.进程 : 程序一次的执行(动态的)注:程序是静态的程序执行时要相应的分配内存(用户空间)注: 可见性谈论编译和链接生存期谈论的是执行只有程序编译链接成功之后才能谈论生存期数组数组=类型+大小数组描述:int+size数组【】中必须是整形类型的常量数组正确定义#define ArSize 10enum {size=10};const int size = 10;int ar[ArSize];int br[size];int cr[si原创 2021-04-15 18:56:47 · 143 阅读 · 0 评论 -
1.C语言中的基本数据类型 2.C语言的常量 3.转义字符
1.软件=数据+指令;2.文件是一个外存的概念可分为:(1)可执行文件:由指令加数据构成Windows:*.exe; *.bat; *.com;Linux:靠文件属性来判断是否可执行(2)不可执行文件:其内容由数据构成;3.贪心算法:十进制转二进制...原创 2021-04-14 12:47:40 · 303 阅读 · 0 评论 -
1.在for 语句中省略表达式 2.跳转语句
这里写目录标题在for 语句中省略表达式二级目录三级目录在for 语句中省略表达式for语句中3条语句都可以省略,但是框架不能省略for( ; ; ){}1.省略语句一:int main(){ int n = 10; int i = 0; for (;i < n;++i) { }}2.省略语句三:int main(){ int n = 10; for ( int i = 0;i < n; ) { printf("%d", i);原创 2021-05-02 17:53:10 · 1321 阅读 · 0 评论 -
程序编译链接过程+虚拟地址空间
磁盘:进行数据的永久化存储原创 2022-01-18 18:45:39 · 797 阅读 · 0 评论 -
分支语句与函数调用
一级目录二级目录三级目录1.分支语句(1)判断2个数的大小:多分支 int a = 0, int b = 0; int max = 0; scanf_s("%d %d", &a, &b); if (a > b) { max = a; } else { max = b; }(2)单分支:int a = 0, int b = 0; int max = 0; scanf_s("%d %d", &a, &b); max = a;原创 2021-05-01 15:36:06 · 211 阅读 · 0 评论 -
C语言默认函数调用过程
函数调用过程原创 2022-01-15 01:34:11 · 239 阅读 · 0 评论 -
基本字符串函数实现
‘\0’ 是字符串结束标志(1)计算字符串长度int my_strlen(const char* str)//计算字符串长度{ assert(str != nullptr); int i = 0; while ('\0' != str[i]) { ++i; } return i;}代码升级:int my_strlen_A(const char* str)//字符串长度{ assert(str != nullptr); const char* p = str; while原创 2021-05-30 08:28:37 · 92 阅读 · 0 评论 -
数据类型专题
数据类型补码形式存放数据类型示例数值转换(强制类型转换)表示范围小的扩展给表示范围大的表示范围大的扩展给表示范围小的例题例题一:例题二:例题三:区别数学与C语言中的数据表示:数学中数据的表示无类型,但是C语言中每一种数据都有类型数学有无穷,但是C语言中每一种数据类型都有范围应用:二分查询时若下标值较大时就需要int mid = (right - left) / 2 + left;数学表达式不能直接应用于C语言(>=…)补码形式存放数据计算机存放数据都是以二进制补码的形式存放原创 2021-11-22 17:33:29 · 96 阅读 · 0 评论 -
三个标准输出函数
三个标准输出函数sprintf_s:格式化字符串函数printffprintfsprintf_s:格式化字符串函数把任意类型的数据转换成字符串,并将格式化后的数据放在缓冲区buff里int main(){ int a = 10, b = 20; char buff[20]; int len=sprintf_s(buff, 20, "a = %d b = %d \n", a, b); printf("%d \n", len); return 0;}int main(){ int原创 2021-11-22 17:33:56 · 194 阅读 · 0 评论 -
动态内存管理(malloc)
Windows 系统下,栈空间分配1M原创 2022-02-26 09:49:08 · 189 阅读 · 0 评论 -
IP地址点分十进制打印
IPV4:ip地址由32个bit位构成(32个二进制位)IPV6:ip地址由128个二进制位构成原创 2021-07-15 14:44:48 · 540 阅读 · 0 评论 -
数组查询---二分查询
int FindValue_F(const int* br, int n, int val)//for循环遍历数组查找val{ assert(br != nullptr); int pos = -1; for (int i = 0; i < n; ++i) { if (br[i] == val) { pos = i; break; } } return pos;}int FindValue_W(const int* br, int n, int val)//原创 2021-11-09 23:28:39 · 77 阅读 · 0 评论 -
状态模式解决问题
状态模式原创 2021-06-21 12:20:46 · 115 阅读 · 0 评论 -
C基础---位操作
位操作操作符(一)位与 ' &'(二)位或 ' | '(三)位反 ' ~ '(四)异或 ' ^ '位操作只对整型有效,无论4字节还是1字节,全部看成二进制位操作适用类型:char :1字节 ;short :2字节;int :4字节 ;long long :8字节;操作符(一)位与 ’ &’(二)位或 ’ | ’(三)位反 ’ ~ ’(四)异或 ’ ^ ’...原创 2021-06-16 21:42:02 · 135 阅读 · 0 评论 -
C递归函数
递归函数分治策略:分治法所能解决的问题一般具有以下四个特征:分治法步骤:递归函数分治策略:是将规模比较大的问题可分割成规模较小的相同问题。问题不变,规模变小。这自然导致递归过程的产生。分治与递归像一对孪生兄弟,经常同时应用在算法设计之中,并由此产生许多高效算法。递归:若一个函数直接地或间接地调用自己,则称这个函数是递归的函数。(简单地描述为“自己调用自己”)。分治法所能解决的问题一般具有以下四个特征:该问题的规模缩小到一定的程度就可以容易地解决。该问题可以分解为若干个规模较小的相同问题。使原创 2021-06-01 12:50:54 · 797 阅读 · 0 评论 -
指针问题全析
指针指针的概念1.指针初了解2.星号 * 的用法:3.指针的分类(1)野指针:(2)空指针:(3)失效指针:4.指针的存放形式小端存放:5.类型对指针的作用(1)解析存储单元的大小(2)指针变量加1的能力6.指针的应用(1)传地址:(2)指针与单目运算符结合:(3)指针与数组:指针的概念1.指针初了解区别指针与指针变量:指针:地址 p;指针变量:存放地址的变量 int * p ;int * p ; // * 是声明,声明P是一个整型的指针变量*p ; // *与P结合表指向指原创 2021-05-22 21:55:37 · 706 阅读 · 0 评论 -
一维数组问题全析
这里写目录标题数组数组是一种组合类型数组=类型+大小数组描述:int+size数组【】中必须是整形类型的常量数组正确定义#define ArSize 10enum {size=10};const int size = 10;int ar[ArSize];int br[size];int cr[size];int dr[21 / 4]; //相当于int dr[5];因为21和4都是int,所以21/4是intint ar [10] ;数组名 ar 的含义:1.数组原创 2021-05-03 23:12:00 · 315 阅读 · 0 评论 -
数组指针和指针数组
首先,理解一下数组指针和指针数组这两个名词:“数组指针”和“指针数组”,只要在名词中间加上“的”字,就知道中心了——数组的指针:是一个指针,什么样的指针呢?指向数组的指针。指针的数组:是一个数组,什么样的数组呢?装着指针的数组。然后,需要明确一个优先级顺序:()>[]>*,所以:(*p)[n]:根据优先级,先看括号内,则p是一个指针,这个指针指向一个一维数组,数组长度为n,这是“数组的指针”,即数组指针;p[n]:根据优先级,先看[],则p是一个数组,再结合。原创 2024-01-04 17:29:08 · 893 阅读 · 0 评论 -
二级指针与二维数组
二级指针与二维数组二级指针二级指针二级指针变量开辟4个字节(32位系统)整型二级指针变量存放整型一级指针变量的地址,整型一级指针变量存放整型变量的地址,整型变量存放数据二级指针有三个值:自身的值: s解一次引用,直接指向: *s解两次引用,指向的指向: **s...原创 2021-09-29 12:07:30 · 251 阅读 · 0 评论 -
函数 指针
函数指针函数类型:函数返回值+函数的形参列表函数指针不允许自加,自减:原因:并不知道函数所占字节个数函数指针主要的目的:做泛型编程(通用性程序设计方案)void funa(int x){ printf("%d ", x);}void funb(int a){ printf("%d ", a);}int main(){ void fun(int);//函数声明 //void(*pfun)(int);函数指针的定义,一个指针,指向一个函数的地址 void (*pfun原创 2021-07-26 14:25:23 · 161 阅读 · 0 评论 -
C-文件操作
File原创 2022-01-03 11:27:06 · 593 阅读 · 0 评论 -
闰年与数组查表法
知识点:1.闰年的判断;2.年月日天数的统计3.数组查表法的应用里面包含了函数的升级,函数从繁琐变得短小精悍#include<stdio.h>bool Is_Leap(int year){ if (year % 4 == 0 && year % 100!=0||year % 400 == 0) { return true; } else { return false; }}/*单分支语句1bool Is_Leap(int year原创 2021-04-10 23:28:19 · 283 阅读 · 0 评论 -
哑元 结构
哑元结构体与联合体相互套用时非常重要union Node{ struct { char a; char b; }; short sx;};原创 2021-07-15 14:52:10 · 136 阅读 · 0 评论 -
联合体(共用体)
联合体(共用体)联合体的含义:联合体(union)与结构体(struct)有- -些相似之处。 但两者有本质上的不同。在结构体中,各成员有各自的内存空间。而在联合体中,各成员共享同一段内存空间, -个联合变量的长度等于各成员中最长的长度。应该说明的是,这里所谓的共享不是指把多个成员同时装入一个联合变量内,而是指该联合变量可被赋予任一-成员值,但每次只能赋一种值赋入新值则冲去旧值。一个联合体类型必须经过定义之后,才能使用它,才能把一个变量声明定义为该联合体类型。...原创 2021-07-18 11:00:08 · 110 阅读 · 0 评论 -
结 构 体 全 析
结构体一级目录二级目录三级目录一级目录二级目录三级目录原创 2022-10-23 10:34:21 · 1189 阅读 · 2 评论 -
C-单链表与双链表
单链表(一)结构定义(一)结构定义原创 2022-04-29 15:43:00 · 250 阅读 · 0 评论