![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言学习
文章平均质量分 72
chf_1
这个作者很懒,什么都没留下…
展开
-
初学C语言
1、什么是计算机程序?什么是编程语言?为什么需要编程语言?编程语言是用来干嘛的?举例一些编程语言,以及他们各自的特点?计算机程序(英语:Computer program),也称为软件(英语:software),简称程序(英语:Program)是指一组指示计算机或其他具有信息处理能力装置每一步动作的指令,通常用某种程序设计语言编写,运行于某种目标体系结构上。 编程语言(programm原创 2017-11-17 18:21:25 · 5032 阅读 · 0 评论 -
同步IO与异步IO的区别
异步文件IO也就是重叠IO。在同步文件IO中,线程启动一个IO操作然后就立即进入等待状态,直到IO操作完成后才醒来继续执行。而异步文件IO方式中,线程发送一个IO请求到内核,然后继续处理其他的事情,内核完成IO请求后,将会通知线程IO操作完成了。如果IO请求需要大量时间执行的话,异步文件IO方式可以显著提高效率,因为在线程等待的这段时间内,CPU将会调度其他线程进行执行,如果没有其他线程需要执行的...原创 2018-02-21 13:46:21 · 7924 阅读 · 0 评论 -
c语言面试题1
> 预处理器(Preprocessor) 1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: 1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2). 懂得预处理器将为你计算常数表达式的值,因此,...转载 2018-02-21 14:18:46 · 178 阅读 · 0 评论 -
C++面向对象基础
面向对象编程基础面向对象编程基于三个基本概念:数据抽象-类继承-基类/派生类动态绑定-基类的函数or派生类的函数面向对象编程概述面向对象编程的关键思想是多态性(polymorphism)。多态性派生于一个希腊单词,意思是“许多形态”,之所以称通过继承而相关联的类型为多态类型,是因为在许多情况下可以互换地使用派生类型或基类型的“许多形态”。在C++中,多态性仅用于通过继承而相关联的类型的引用或指针。...转载 2018-03-18 08:46:19 · 467 阅读 · 0 评论 -
c++模板
PS:今天在网上看到一篇讲C++模板编程的博客,还算是比较的通俗易懂,在这里留一份,没事看看。。。。。。 当我们越来越多的使用C++的特性, 将越来越多的问题和事物抽象成对象时, 我们不难发现:很多对象都具有共性。 比如 数值可以增加、减少;字符串也可以增加减少。 它们的动作是相似的, 只是对象的类型不同而已。C++ 提供了“模板”这一特性, 可以将“类型” 参数化, 使得编写的代码更具有通用性。...原创 2018-04-19 20:29:13 · 144 阅读 · 0 评论 -
dxp常用元件
序号 英文简写 元件英文名 元件中文名 1 Res semi Semiconductor Resistor 半导体电阻 2 Cap semi Semiconductor Capacitor 半导体电容器 3 Cap Var Variable or Adjustable Capacitor 可变或可调电容 4 ...原创 2018-07-21 19:26:12 · 1772 阅读 · 0 评论 -
Linux网络编程 套接字
一:概述 Socket 的英文原意就是“孔”或“插座”,现在,作为BSD UNIX 的进程通讯机制,取其后一种意义。日常生活中常见的插座,有的是信号插座,有的是电源插座,有的可以接受信号(或能量),有的可以发送信号(或能量)。假如电话线与电话机之间安放一个插座(相当于二者之间的接口,这一部分装置物理上是存在的)则Socket 非常相似于电话插座。 将电话系统与面向连接的Socke...原创 2018-08-10 16:12:50 · 177 阅读 · 0 评论 -
三次握手与四次挥手
注:三次握手和四次挥手本身并不复杂,但却可以从很多角度理解这两个过程,本文仅取一个视点解读,如有其它看法欢迎留言交流。 三次握手与四次挥手分别对应TCP连接建立过程与断开过程,先上TCP报文格式: 三次握手过程: 问题1: 为什么要三次握手?答:三次握手的目的是建立可靠的通信信道,说到通讯,简单来说就是数据的发送与接收,而三次握手最主要的目的就是双方确认自己与对...原创 2018-08-10 21:20:50 · 244 阅读 · 0 评论 -
STL简介
1.1 什么是STL?STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序库。它被容纳于C++标准程序库(C++ Standard Library)中,是ANSI/ISO C++标准中最新的也是极具革命性的一部分。该库包含了诸多在计算机科学领域里所常用的基本数据结构和基本算法。为广大C++程序员们提供了一个可扩展的应用框架,高度体现...原创 2018-08-07 14:54:55 · 1681 阅读 · 0 评论 -
消息队列的函数
ftok()#include #include 函数原型: key_t ftok( const char * pathname , int proj_id );参数: pathname 就时你指定的文件名(该文件必须是存在而且可以访问的),id是子序号,虽 然为int,但是只有8个比特被使用(0-255)。返回值: 成功时候返回原创 2018-01-30 16:51:23 · 987 阅读 · 0 评论 -
链表实现123报数游戏
基本思想:建立循环链表,并在所有节点数据域中赋值为0;建立while循环,判出条件为n(节点个数)减到1#include #include typedef struct Node{ int order; int num; struct Node* next;}LinkNode,*LinkList;void print(LinkNode* L原创 2018-01-28 20:27:46 · 725 阅读 · 0 评论 -
时间片轮转法
时间片轮转法(Round-Robin,RR)主要用于分时系统中的进程调度。为了实现轮转调度,系统把所有就绪进程按先入先出的原则排成一个队列。新来的进程加到就绪队列末尾。每当执行进程调度时,进程调度程序总是选出就绪队列的队首进程,让它在CPU上运行一个时间片的时间。时间片是一个小的时间单位,通常为10~100ms数量级。当进程用完分给它的时间片后,系统的计时器发出时钟中断,调度程序便停止该进程的运行转载 2018-01-28 20:11:48 · 6776 阅读 · 0 评论 -
GCC编译过程分析
以helloworld为例分析gcc编译过程:#includeint main(){ printf(“Hello World\n”); return 0;}通常我们使用gcc来生成可执行程序,命令为:gcc hello.c,生成可执行文件a.out实际上gcc hello.c可以分解为4个步骤,分别是预处理(Preprocess)原创 2017-11-17 20:26:54 · 200 阅读 · 0 评论 -
a与&a的区别
&a和a的区别当我们定义一个数组a时,编译器根据指定的元素个数和元素的类型分配确定大小(元素类型大小*元素个数)的一块内存,并把这块内存的名字命名为a。名字a一旦与这块内存匹配就不能改变。a[0],a[1]等为a的元素,但并非元素的名字。数组的每一个元素都是没有名字的。这里&a[0]和&a到底有什么区别呢?a[0]是一个元素,a是整个数组,虽然&a[0]与&a的值一样,但其意义不一样。转载 2017-12-01 17:10:14 · 23258 阅读 · 1 评论 -
库函数与系统调用的联系与区别
一. 概念系统调用(英语:system call),指运行在用户空间的应用程序向操作系统内核请求某些服务的调用过程。 系统调用提供了用户程序与操作系统之间的接口。一般来说,系统调用都在内核态执行。由于系统调用不考虑平台差异性,由内核直接提供,因而移植性较差(几乎无移植性)。库函数(library function),是由用户或组织自己开发的,具有一定功能的函数集合,一般具有较好转载 2018-02-01 11:36:50 · 895 阅读 · 0 评论 -
sizeof与strlen的区别
char str[20]="0123456789"; int a=strlen(str); /*a=10;strlen 计算字符串的长度,以\0'为字符串结束标记。 int b=sizeof(str); /*b=20;sizeof 计算的则是分配的数组str[20] 所占的内存空间的大小,不受里面存储的内容影响==================================转载 2018-02-01 13:26:43 · 118 阅读 · 0 评论 -
C语言初学的内存问题
内存分配有三种方式:一:从全局存储区域分配:这时内存在程序编译阶段就已经分配好,该内存在程序运行的整个周期都有效,如:全局变量、static静态变量。二:从栈区分配:在执行函数的时候,函数中的局部变量的存储单元都可以从栈中分配,函数执行结束后这些存储单元都会被自动释放,实现从栈中分配存储单元运算操作内置于处理器的指令集中,效率很高 但是分配的内存容量有限。三:从堆中分配:也称为动态内存原创 2018-02-01 13:52:02 · 403 阅读 · 0 评论 -
笔试题之bool,int,float,pointer与“0”比较的语句
分别写出BOOL,int,float,指针类型的变量a 与“零”的比较语句。答案:BOOL : if ( !a ) or if(a)int : if ( a == 0)float : const EXPRESSION EXP = 0.000001 if ( a -EXP)pointer : if ( a != NULL) or原创 2018-02-01 13:56:56 · 1072 阅读 · 0 评论 -
C语言中堆和栈的区别
C语言中堆和栈的区别一.前言:C语言程序经过编译连接后形成编译、连接后形成的二进制映像文件由栈,堆,数据段(由三部分部分组成:只读数据段,已经初始化读写数据段,未初始化数据段即BBS)和代码段组成,如下图所示:1.栈区(stack):由编译器自动分配释放,存放函数的参数值,局部变量等值。其操作方式类似于数据结构中的栈。2.堆区(heap):一般由程序员分配释放,若程序员翻译 2018-01-28 10:39:58 · 160 阅读 · 0 评论 -
链表相关操作
#include <stdio.h>#include <stdlib.h>#include <string.h> typedef struct MyStruct{char Lience[10];char Name[20];int Money;int Vip;struct MyStruct *next;} Node;...原创 2018-08-12 15:47:04 · 256 阅读 · 1 评论