随笔分类 - C语言
摘要:1、栈内存 被称为“栈”是因为进程在使用这块内存的时候是严格按照“后进先出”的原则来操作的,而这种后进先出的逻辑,就被称为栈。 随着进程的运行而不断发生变化:一旦有新的函数被调用,就会立即在栈顶分配一帧内存,专门用于存放该函数内定义的局部变量(包括所有的形参),当一个函数执行完毕返回之后,他所占用的
阅读全文
摘要:一、冒泡排序 所谓的冒泡排序,其实指的是对数组中的数据进行排序,按照从小到大的顺序来进行排列. 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。
阅读全文
摘要:野指针是指向不可用内存的指针,当指针被创建时,指针不可能自动指向NULL,这时,默认值是随机的,此时的指针成为野指针。 当指针被free或delete释放掉时,如果没有把指针设置为NULL,则会产生野指针,因为释放掉的仅仅是指针指向的内存,并没有把指针本身释放掉。 第三个造成野指针的原因是指针操作超
阅读全文
摘要:面向过程编程注重于编程的步骤,而面向对象编程注重于对象之间的交互。 面向过程的编程应该关注的是如何使用函数去实现既定的功能。 面向对象的编程,是关注如何把相关的功能,包括函数和数据有组织地捆绑到一个对象身上,它强调“封装”“继承”“多态”,把一些数据和相关的操作封装起来包装成对象,是所有的模块达到更
阅读全文
摘要:(1)构造函数 String::String(const char *str) { if(str==NULL) { m_data = new char[1]; *m_data = ‘\0’; } else { Int length = strlen(str); m_data = new char[length]; Strcpy(m_data,str); } } (2...
阅读全文
摘要:(1)先来先服务(FCFS) (2)优先级。 (3)时间片轮转。 (4)多级反馈。
阅读全文
摘要:(1)指针是实体,引用是别名,没有空间。 (2)引用定义时必须初始化,指针不用。 (3)指针可以改,引用不可以。 (4)引用不能为空,指针可以。 (5)Sizeof(引用)计算的是它引用的对象的大小,而sizeof(指针)计算的是指针本身的大小。 (6)不能有NULL引用,引用必须与一块合法的存储单
阅读全文
摘要:(1)可以定义const常量。 (2)Const可以修饰函数的参数和返回值,甚至定义体。被const修饰的东西都受到强制保护。 (3)Const修饰成员函数时,用于成员函数前面,则返回值不能作为左值。用在后面,则该成员函数的数据成员不能改变。 (4)Const修饰数据成员时,必须使用冒号语法。 在C
阅读全文
摘要:很多学过C的人对malloc都不是很了解,知道使用malloc要加头文件,知道malloc是分配一块连续的内存,知道和free函数是一起用的。但是但是: 一部分人还是将:malloc当作系统所提供的或者是C的关键字,事实上:malloc只是C标准库中提供的一个普通函数 而且很多很多人都对malloc
阅读全文
摘要:system函数是C语言提供的与操作系统衔接的函数,函数原型如下:
阅读全文
摘要:转载https://www.cnblogs.com/wxb20/p/6033458.html 这篇文章主要介绍了十进制负数转换为二进制、八进制、十六进制的知识分享,需要的朋友可以参考下 程序猿们或许对二进制都不陌生,二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。但是很
阅读全文
摘要:c语言允许建立内存动态分配区域,以存放一些临时用的数据,这些数据不必在程序的声明部分定义,也不必等到函数结束时才释放,而是需要时随时开辟,不需要时随时释放,这些数据存储在堆区。可以根据需要,向系统申请所取空间的大小,因为没有在声明部分定义它们为变量或数组,所以不能通过变量名或数组的方式去引用这些数据
阅读全文