
知识点总结
Python_programer
书山有路勤为径,学海无涯苦作舟!
展开
-
C语言操作符总结
今天分享一个自己刚整理完的C语言操作符的知识点C语言基本操作符分为以下几类:算术操作符移位操作符位操作符赋值操作符单目操作符关系操作符逻辑操作符条件操作符逗号表达式算术操作符+ - * / %1.除"%“外其他几个操作符均可用于整数和浮点数。2.对于”/"来说,计算的两个数为整数则执行整数除法,若含有浮点数,则执行浮...原创 2019-01-27 11:15:52 · 297 阅读 · 0 评论 -
Linux之posix信号量
今天来讲下POSIX信号量,用于同步操作,达到无冲突的访问共享资源的目的,可以用于线程间同步。信号量就是一个计数器+等待队列+等待+唤醒1.信号量的基本接口1)初始化信号量int sem_init(sem_t *sem, int pshared, unsigned int value);sem:信号量变量pshared:0表示线程间共享,非0表示进程间共享(决定用于线程间还是进程间)...原创 2019-05-22 15:48:40 · 476 阅读 · 0 评论 -
Linux之生产者与消费者模型
今天讲下Linux里一个很重要的概念 “生产者与消费者模型” :1.生产者与消费者模型的概念生产者于消费者模型其实很常用,因为在实际开发中经常会遇到这种情况就是,一个模块负责生产数据,而另一个模块负责处理数据,在这里就可以认为这个生产数据的模块就充当了生产者的角色而这个处理数据的模块就充当了消费者的角色,而生产者生产的数据需要一个地方存储,就可以是一个仓库,这个仓库是练习生产者与消费者的...原创 2019-05-22 15:09:24 · 586 阅读 · 0 评论 -
git的安装及linux下git的使用
今天讲下git的使用及linux下git的使用:首先需要创建一个GitHub账号先进入下面的官网(推荐使用Google浏览器)https://github.com/然后创建一个账号(虽然是英文我想这点难度肯定你能看懂吧!)创建完账号并激活后会看到类似如下所示:点击start a project(开始一个项目),然后如下所示:按他的要求逐步输入,创建一个仓库来存放你以后的代码,这就...原创 2019-05-13 10:48:32 · 594 阅读 · 0 评论 -
C++入门基础知识
今天讲下C++的发展历程及他的几个入门的基础知识:1.什么是C++C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度 的抽象和建模时,C语言则不合适。为了解决软件危机,20世纪80年代, 计算机界提出了OOP(object oriented programming:面向对象)思想,支持面向对象的程序设计语言应运而生。1982年,Bjarne Str...原创 2019-05-12 20:45:14 · 409 阅读 · 0 评论 -
Linux之线程安全
上一节我讲了Linux线程的一些基础知识,返现多线程是不安全的,会引发安全问题,所以今天就来讲一下Linux线程安全一节的内容!1.线程安全概念线程安全:多个线程同时操作临界资源不会出现数据二义性2.线程安全的实现这里要引入两个概念:同步与互斥同步:临界资源访问的时序可控互斥:临界资源访同一时间的唯一访问性临界资源:多线程执行流共享的资源原子性:不会被任何调度机制打断的操作,该操作...原创 2019-05-16 15:46:27 · 378 阅读 · 0 评论 -
C++类和对象(1)
今天讲一下关于C++类和对象的一些知识点:1.类和对象的初识C语言是面向过程的,关注过程,分析出求解问题的步骤,通过函数调用逐步解决问题。C++是基于面向对象的,关注对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。在C语言中,结构体中只能定义变量,在C++中,结构体内不仅可以定义变量,还可以定义函数。在C++中更喜欢用class来代替。2.类的定义类就是同类事物的抽象集合,而...原创 2019-05-15 15:44:15 · 773 阅读 · 0 评论 -
结构体内存对齐详解(同比C++类的大小计算)
今天讲下结构体内存对其的问题:因为结构体内存对齐问题算是面试或笔试时的常考问题,所以我选择单独开一篇来讲解一下!!!这个问题我当时是有点懵逼的在看到的时候,不知道是怎么计算出来的。终于经过一段时间我仔细看了计算规则和理解我算是弄明白了计算过程,下面我就来讲一下,有什么不对的也欢迎大家在下面评论指出!1.结构体内存对齐是什么结构体可以存储多种数据类型,这也就意味着结构体的大小不是简单的几个...原创 2019-05-15 14:58:38 · 363 阅读 · 0 评论 -
C++类和对象(2)
今天继续讲C++类和对象这块的内容:1.类的6默认成员函数1.1构造函数(无返回值)构造函数是完成初始化工作的而不是创建对象的,这点一定要记清!!!用户没写构造函数的话编译器是会自动生成的,但是用户一旦显式的定义了编译器将不再生成!!!如果有创建多个对象,那么调用构造函数的顺序和你创建对象的顺序是一样的!!!< font>默认构造函数有三类:(默认构造函数就指的是不用参...原创 2019-05-19 21:52:49 · 268 阅读 · 0 评论 -
Linux之线程(1)
今天讲下Linux线程这块的知识,我想很多人应该都知道多线程的重要性,现在多线程被运用在项目中的次数越来越多,而且面试中多线程也是必问的,所以要引起我们足够的重视将这块的知识学扎实。1.线程的概念在说线程之前我们不得不提到进程,从用户角度来说:进程是运行中的程序;操作系统角度来说:进程是操作系统对运行中程序的描述信息–进程描述符–pcb。线程:在一个程序里的一个执行路线或者说是:线程是一个...原创 2019-05-14 14:46:36 · 251 阅读 · 0 评论 -
Linux下需要了解的一些东西
今天分享一些关于linux有必要知道的东西:1.Linux下的重要目录1)/proc目录Linux系统上的/proc目录是一种文件系统,即proc文件系统。与其它常见的文件系统不同的是,/proc是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息,甚至可以通过更改其中某些文件来改变内核的运行状态。2)...原创 2019-03-23 22:30:09 · 218 阅读 · 0 评论 -
Linux常用命令
今天分享一些关于我学习linux整理的常用命令1.目录相关命令ls 列出当前目录下的文件列表信息linux下文件夹通常叫目录当前:登陆成功后,打开终端所处的一个目录-a 显示隐藏文件linux下以.开头的文件是隐藏文件,默认不显示-l 显示目录下文件的详细信息pwd 显示当前所在路径例如:/home/test —绝对路径:以根目录作为起始的路径相对路径:以当前路...原创 2019-03-16 17:08:00 · 197 阅读 · 0 评论 -
进阶指针知识点总结
今天分享一个自己总结的关于进阶指针的知识点:1.数组指针数组指针和指针数组是两个挺绕口的名词,但是两个的意思截然不同,一个是指针,一个是数组。今天主要讲数组指针。举例如下:int (*p) [5] 这是一个数组指针,因为*首先和p结合代表他是个指针标量,然后指向了一个大小为5的整形数组。注: [ ] 的优先级高于 *对于一个int型数组arr[5]来说,arr和&...原创 2019-03-14 21:58:45 · 486 阅读 · 0 评论 -
回调函数的应用
今天分享一个比较重要的程序——回调函数实现冒泡排序回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。#define _CRT_SECURE_NO_WARNINGS#include...原创 2019-03-14 11:13:22 · 612 阅读 · 0 评论 -
模拟实现内存函数(memcpy,memmove)
今天分享两个程序分别实现内存函数memcpy和mommove:1.模拟实现memcpy功能介绍:memcpy函数的功能是从源str2所指的内存地址的起始位置开始拷贝n个字节到目标str1所指的内存地址的起始位置中,但是如果str2和str1所指的内存区域重叠,那么这个函数并不能够确保str2所在重叠区域在拷贝之前不被覆盖,所以具有一定的局限性。#include<stdio.h>...原创 2019-02-25 21:26:02 · 2341 阅读 · 0 评论 -
初阶指针知识点总结
今天分享一个自己总结的初阶指针知识点:1.首先什么是指针指针就是一个变量,用来存放地址的变量,利用他可以找到该地址位置的内存单元,他起一个指向作用,属于一个形象化的定义。2.一级指针及定义举例如下:int a = 10;int *p = &a;可以看出指针的定义方式就是: 指针类型 + *此时的p就是一个指针变量,他存放着a在内存中所处的地址。指针和变量一样同样具有类型...原创 2019-02-27 23:06:02 · 287 阅读 · 0 评论 -
C++ 模板
今天讲下C++模板这一块的基础内容:模板:(1)函数模板(2)类模板1.泛型编程在讲C++模板之前必须得说一下泛型编程泛型编程就是指编写与类型无关的通用代码,是代码复用的一种手段,模板是泛型编程的基础!比如想实现两个数的交换:用我们之前所知道的方法就是函数重载,这是可以的,但是你想过没有,如果每来一个类型你就需要写一个对应类型的函数,这样不仅代码的复用率极低,效率低,而且代码的可维...原创 2019-05-27 10:21:07 · 1742 阅读 · 0 评论