C/C++
文章平均质量分 64
野蛮的芋头
_(:з」∠)_
展开
-
利用快慢指针判断循环
用fast和slow指针来判断无限循环原创 2022-10-25 20:02:46 · 841 阅读 · 0 评论 -
【无标题】
堆的存在为程序设计提供了灵活性,例如,递归的实现就需要语言提供动态内存分配的支持,堆意味着在任何时候分配内存并自适应的决定具体需要多少内存。这句代码使用new在堆上创建了一个含有100个对象的数组,并把返回的指针付给了指针变量pt。//开辟一个存放实数的空间,并制定该实数的初值为3.14159,将返回的指向实型数据的指针赋给指针变量p。空的方括号用于告诉编译器从数组创建时存放的地方取回数组种对象数量的代码,并为数组的所有对象调用析构函数。//开辟一个存放整型变量的空间,返回一个指向整型变量的指针。...原创 2022-07-22 22:21:45 · 229 阅读 · 0 评论 -
C++7.21
KMP算法几乎可以在所有讲述算法的书中找到,之所以这个算法如此受到推崇(尽管它实际应用不如后面的BM算法),其中一个重要原因是它的发明者之一Knuth实在是太有名了。它是由对BF算法的很大改进而成的,这主要体现在每当某趟匹配失败时,指针不必回溯,而是利用已经得到的“部分匹配结果”将模式向右滑动若干位置后得到。KMP算法正是基于这样的思想,算法在对字符串进行匹配前,先计算出模式字符串中各个字符的关系,然后再依据此关系对模式字符串与目标字符串进行匹配。今天系统地学习了KMP算法附原文链接。...原创 2022-07-22 12:48:51 · 64 阅读 · 0 评论 -
C++7.20
迭代器起初是设计模式的一种,它的意思是提供一种方法,使用按顺序访问某个容器中所含的各个元素,而无需暴露该容器的内部表述方法。几乎STL提供的所有算法都是通过迭代器存取元素序列进行工作的,每一个容器都定义了其本身所专有的迭代器,用以存取容器中的元素。const的一个作用就是用来替代宏替换,const提供了对数值严格的类型检查,因此相对于宏替换而言const提供了强大的安全保证。sizeof(c)=5//c是数组,计算到'\0'位置,结果为4*1+1=7。...原创 2022-07-21 16:37:52 · 4476 阅读 · 0 评论 -
C++7.19
随着学习的进行,类中的很多数据是关乎着类的实现的,也就是说,这些数据的改动很可能使已经定义好的类不能正常地工作,这些数据程序员可以用关键字private保护起来,这样,用户可以使用的数据均为被程序员认可的数据。C++的一个优点是它强制用户对变量进行初始化,这里的变量指的是用户自定义的变量,即用户自定义的类,类的初始化便由构造函数完成。产生这种结果的原因是C++对对象初始化是如此的强调,以至于当对象在main函数外定义时(此时的对象是全局对象),编译器将在调用main函数前调用全局对象的构造函数。...原创 2022-07-20 11:42:07 · 55 阅读 · 0 评论 -
【无标题】
对结构体变量进行赋初值时,C++编译程序允许按每个成员在结构体中的顺序一一对应赋初值,不允许跳过前面的成员给后面的成员赋初值。共用体与结构体不同之处在于,结构体变量中的成员各自有各自的存储空间,而共用体变量中的所有成员占用同一个存储空间,由于共用体共用一个存储空间,因此该共用体的三个成员变量只有一个有值,其他值为随机的,是没有意义的。在说明一个无名结构体类型的同时直接进行定义,由于它是无名的,所以它不能再用来定义其他变量;typedef=typedefine说明一个结构体类型名,再用新类型名,来定义变量;.原创 2022-07-19 17:28:27 · 57 阅读 · 0 评论 -
【无标题】
初始化数组:当初始化的个数少于数组元素个数时,前面的元素按顺序初始化相应的值,后面不足的部分由系统自动初始化为零(对数值数组)或空字符‘\0’(对字符数组)\t是水平制表符,相当于键盘上的TAB键,占据了八个空格的位置;strcpy():复制字符串strcat():连接字符串strlen():计算字符串长度数组与函数:形参数组的长度不要超过实参数组的长度。是参数组必须定义为具有确定长度的数组,而性参数组可以不定义长度,只在数组名后加一个空的方括号,同时在被调用的函数中另设一个参数用来传递元素的个数指针:简单原创 2022-06-15 23:05:10 · 254 阅读 · 0 评论 -
c++ 6.11
要解决具体问题,必须首先要学会用数据类型来描述问题中的具体事物。世界上的问题形形色色,仅用语言内部的数据类型来描述事物是远远不够的,还必须借助于语言所提供的数据类型描述机制来自定义数据类型。要自定义数据类型,就必须先了解语言的内部和基本的数据类型。两个问题,1.为什么补码的补码等于原码?一般来说,补码就是原码取反加一,还原成原码的时候应该先减去一再取反。其实在二进制里,"减一取反"和"取反加一"等价,所以我们可以这么做为什么等价呢?假设一个N位的二进制数,可表示的最大值是2^N - 1,例如八位二进制数,最原创 2022-06-12 00:03:06 · 265 阅读 · 0 评论 -
c++练习 6.9
学习c++原创 2022-06-10 02:01:59 · 109 阅读 · 0 评论 -
C/C++ 6.7
一个简单的for循环练习,感觉for语句输出已经很明白了一个判别素数并输出的程序,不知道问题出在哪里.... 先丢在这里吧继续学习C++语法C++常用的流状态: 看完了钱老师讲的第二章,开始刷题…… 因为c++刚开始学 所以部分代码使用了c语言输出结果 输入x=1,输出 sum=-3;显然出问题了在修改时发现报错 查找原因发现是没有调用pow函数 结果c语言识别的时候发生了错误 ....c语言中^是异或操作符调试成功,运行结果如图: 其实还有很多问题,原创 2022-06-09 02:23:48 · 296 阅读 · 0 评论 -
不睡觉了哈哈哈哈
因为太想学C语言所以不能睡觉这件事对语言程序有一定基础 但是 之前没好好学习 现在也忘得很干净了但是个人感觉专注的时候学习能力还是很高的然后我准备把这篇当做自己的第一篇学习笔记 用来记录自己学习的过程不知道能发多少字 反正今晚准备熬夜干了 冲了#每个C语言程序中都会有且只有一个main函数 可以包含多个其它函数,被调用的函数可以使系统提供的库函数 也可以是用户根据自己需要自定义的函数这才看了这本书几页,就看到了我前两天用vs一直出现的问题,我把vs下载路径更改后,没有放在C盘根目录的原创 2022-05-28 16:55:34 · 55 阅读 · 0 评论 -
【无标题】
二维数组的初始化 :可以按行分段赋值 int a[2][3]={{1,2,3},{4,5,6}};分行赋值时 可以只给部分元素赋值 int a[3][4]={{1,2},{3,4}};可以省略行下标 不能省略列下标 int a[][4]={1,2,3,4,5} 这样每一行有四个 多的就换下一行就可以了有一个东西一直忘 就是%m.nf 的格式说明 随便查查发现还挺不好整的 m表示域宽#include<stdio.h>int main(void){ float a = 456原创 2022-06-03 01:54:04 · 60 阅读 · 0 评论